Cursorless: 未来から来た異星の魔法
- Cadey は新しい職場で仕事を始める前に、RSI(反復性ストレス障害)の症状が現れたと述べている。
- RSI の症状はすでに予想しており、現在は回復中だという。
- 以前に RSI が起きたときは技術系の執筆で対処していたが、今回はプログラミング能力が必要だと述べている。
- Cadey は主に emacs を使っているが、今回は Visual Studio Code を使っており、その理由は「Cursorless」という拡張機能のためだという。
Cursorless の魔法のような機能
- 「Cursorless」は音声制御ソフトウェアと統合され、音声による AST レベルのコード編集を可能にするプラグインである。
- 「Cursorless」の最も魔法のような部分は、文書内の個別アンカーである「ターゲット(Targets)」と、ターゲットに対する相対位置である「デスティネーション(Destinations)」という概念である。
- 文書内のすべてのトークンには、文字の上に色付きのハットが表示され、位置、デスティネーション、そしてその間の経路に基づいてコマンドを出せるようになっている。
- たとえば、
function という単語は green urge として参照され、その単語を削除したり移動したりするのに使える。
Cursorless の真の力
- 「Cursorless」は単純な編集操作だけでなく、AST を理解しているため、関数全体にまたがって操作を実行できる能力を持っている。
- たとえば、関数を非同期関数へリファクタリングすることも、「Cursorless」を使えば簡単になる。
- Cadey は、「Cursorless」を繰り返し使ううちに、コマンドが次第に第二の天性のように身についていくと説明している。
自分だけのコマンドを書く
- 「Cursorless」と「Talon」を使って、自分だけのコマンドを書くことが可能である。
- 「Talon」のコマンドは、パターン(話す単語)とキャプチャ(抽出したいもの)に分かれている。
- 最も複雑な「Talon」ルールの例として、Go 言語でメソッドを宣言する方法を説明している。
ポインタ概念の新しい説明の試み
- Cadey は Go 言語のポインタ概念を説明するために、「raising」と「lowering」という用語を試している。
- Go 言語のポインタ構文が C スタイルを使っていることに対する代案として、ポインタ値と通常の値の間を「raising」と「lowering」で表現する方法を模索している。
GN⁺ の意見
- この記事で最も重要な点は、「Cursorless」拡張機能が音声制御を通じてプログラミングのアクセシビリティを高め、RSI のような障害によってタイピングが難しい人でもコーディングを可能にしていることだ。
- 「Cursorless」の機能が特に興味深い理由は、コードを音声で編集できる革新的な方法を提供し、ソフトウェア開発の未来に新たな可能性を開いている点にある。
1件のコメント
Hacker Newsの意見
投稿者の驚きと自身のTalon実験リポジトリの共有
Talonを使ったコード操作と音声コマンドの有用性
音声の代わりにキーボードを使うavyとの比較
音声でプログラミングするデモへのリンクと感嘆
Cursorlessの概要と実際の使用例を見せるStrange Loop発表
Cursorless開発への支持と個人的に感じる利用ハードル
音声コマンド語の選定への疑問
視線追跡技術によるカーソル位置調整の可能性への質問
RSIの経験とタイピングスタイル変更による改善事例の共有