3 điểm bởi GN⁺ 2023-11-11 | 1 bình luận | Chia sẻ qua WhatsApp

Cursorless: phép thuật ngoài hành tinh đến từ tương lai

  • Cadey nhắc đến việc các triệu chứng RSI (chấn thương do căng thẳng lặp đi lặp lại) xuất hiện trước khi bắt đầu công việc ở chỗ làm mới.
  • Các triệu chứng RSI vốn đã được dự đoán từ trước và hiện đang trong quá trình hồi phục.
  • Khi RSI từng xảy ra trước đây, họ đã đối phó bằng cách viết bài về công nghệ, nhưng lần này họ cho biết mình cần đến khả năng lập trình.
  • Cadey chủ yếu sử dụng emacs, nhưng lần này đang dùng Visual Studio Code, và lý do là vì tiện ích mở rộng có tên 'Cursorless'.

Những tính năng kỳ diệu của Cursorless

  • 'Cursorless' là một plugin tích hợp với phần mềm điều khiển bằng giọng nói, cho phép chỉnh sửa mã ở cấp độ AST bằng giọng nói.
  • Phần kỳ diệu nhất của 'Cursorless' là khái niệm về các 'mục tiêu (Targets)' là những điểm neo riêng lẻ trong tài liệu, và 'đích đến (Destinations)' là vị trí tương đối so với mục tiêu.
  • Mỗi token trong tài liệu đều có một chiếc mũ màu với ký tự hiển thị phía trên, cho phép đưa ra lệnh dựa trên vị trí, đích đến và đường đi giữa chúng.
  • Ví dụ, từ 'function' có thể được tham chiếu là 'green urge' để dùng cho việc xóa hoặc di chuyển từ đó.

Sức mạnh thực sự của Cursorless

  • 'Cursorless' không chỉ thực hiện các thao tác chỉnh sửa đơn giản mà còn hiểu AST, nên có thể thực hiện thao tác trên phạm vi cả một hàm.
  • Ví dụ, việc refactor một hàm thành hàm bất đồng bộ trở nên đơn giản khi dùng 'Cursorless'.
  • Cadey giải thích rằng khi sử dụng 'Cursorless' lặp đi lặp lại, các lệnh dần trở nên quen thuộc như bản năng thứ hai.

Tự viết lệnh của riêng mình

  • Có thể tự viết các lệnh của riêng mình bằng 'Cursorless' và 'Talon'.
  • Lệnh 'Talon' được chia thành pattern (từ được nói ra) và capture (thứ muốn trích xuất).
  • Tác giả lấy quy tắc 'Talon' phức tạp nhất làm ví dụ để giải thích cách khai báo method trong ngôn ngữ Go.

Thử một cách giải thích mới về khái niệm con trỏ

  • Cadey đang thử nghiệm các thuật ngữ 'raising' và 'lowering' để giải thích khái niệm con trỏ trong ngôn ngữ Go.
  • Như một phương án thay thế cho việc cú pháp con trỏ của Go dùng kiểu C, tác giả đang khám phá cách biểu đạt sự chuyển đổi giữa giá trị con trỏ và giá trị thông thường bằng 'raising' và 'lowering'.

Ý kiến của GN⁺

  • Điểm quan trọng nhất của bài viết này là tiện ích mở rộng 'Cursorless' cải thiện khả năng tiếp cận của việc lập trình thông qua điều khiển bằng giọng nói, đồng thời giúp những người gặp khó khăn trong việc gõ phím do chấn thương như RSI vẫn có thể viết code.
  • Lý do các tính năng của 'Cursorless' đặc biệt thú vị là vì nó mang đến một phương thức mang tính đột phá để chỉnh sửa code bằng giọng nói, qua đó mở ra những khả năng mới cho tương lai của phát triển phần mềm.

1 bình luận

 
GN⁺ 2023-11-11
Ý kiến Hacker News
  • Sự ngạc nhiên của tác giả bài viết và chia sẻ kho lưu trữ thử nghiệm Talon của mình

    Tác giả bày tỏ sự ngạc nhiên khi bài viết của mình đang được chú ý và chia sẻ kho lưu trữ GitHub liên quan đến các thử nghiệm với Talon.

  • Tính hữu ích của việc thao tác mã bằng Talon và các lệnh giọng nói

    Việc Talon sử dụng tree-sitter AST để thao tác các "phần" của mã tương tự textobjects của Vim, nhưng được bổ sung thành phần giọng nói. Tính năng dùng lệnh giọng nói để lên lịch các tác vụ khác trong lúc đang thao tác bàn phím khá thú vị.

  • So sánh với avy khi dùng bàn phím thay vì giọng nói

    Nó hoạt động tương tự avy, nhưng dùng giọng nói thay vì bàn phím, đồng thời được kết hợp với các lệnh nhận biết AST.

  • Liên kết tới bản demo lập trình bằng giọng nói và sự thán phục

    Chia sẻ liên kết tới video demo lập trình bằng giọng nói và nhắc đến trải nghiệm đầy cuốn hút mà video đó mang lại.

  • Bài nói chuyện tại Strange Loop cho thấy tổng quan và ví dụ sử dụng thực tế của Cursorless

    Liên kết tới video bài nói chuyện tại Strange Loop, nơi có thể xem phần giới thiệu tổng quan về Cursorless cùng cách nó được dùng trong thực tế.

  • Sự ủng hộ đối với việc phát triển Cursorless và cảm giác rào cản khi bắt đầu sử dụng

    Bày tỏ sự ủng hộ đối với việc phát triển Cursorless, nhưng đồng thời cảm thấy chi phí tinh thần để thực sự bắt đầu sử dụng nó là khá cao.

  • Thắc mắc về việc lựa chọn các từ cho lệnh giọng nói

    Đặt câu hỏi về lý do chọn những từ cụ thể như 'urge' và 'bat', đồng thời thắc mắc liệu có thể dùng các từ khác bắt đầu bằng những chữ cái tương ứng hay không.

  • Câu hỏi về khả năng dùng công nghệ theo dõi mắt để điều chỉnh vị trí con trỏ

    Nêu thắc mắc về tình trạng hiện tại của công nghệ theo dõi mắt, liệu có thể đặt con trỏ vào vị trí mà ánh nhìn đang dừng lại hay không.

  • Chia sẻ trường hợp cải thiện nhờ trải nghiệm RSI và thay đổi cách gõ

    Chia sẻ trải nghiệm từng gặp vấn đề RSI và đã thử nhiều công cụ công thái học khác nhau, nhưng việc thay đổi cách gõ lại mang đến hiệu quả cải thiện lớn.