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
Ý 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ính hữu ích của việc thao tác mã bằng Talon và các lệnh giọng nói
So sánh với avy khi dùng bàn phím thay vì giọng nói
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
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
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
Thắc mắc về việc lựa chọn các từ cho lệnh giọng nói
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ỏ
Chia sẻ trường hợp cải thiện nhờ trải nghiệm RSI và thay đổi cách gõ