3 ポイント 投稿者 GN⁺ 2023-11-11 | 1件のコメント | WhatsAppで共有

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件のコメント

 
GN⁺ 2023-11-11
Hacker Newsの意見
  • 投稿者の驚きと自身のTalon実験リポジトリの共有

    投稿者は、自分の投稿が人気を集めていることへの驚きを表し、Talon実験に関するGitHubリポジトリを共有した。

  • Talonを使ったコード操作と音声コマンドの有用性

    Talonがtree-sitter ASTを活用してコードの「部分」を操作するのはVimのtextobjectsに似ているが、音声コンポーネントが加わっている。音声コマンドによって、キーボード操作中に別の作業を予約できる機能が興味深い。

  • 音声の代わりにキーボードを使うavyとの比較

    avyと似たように動作するが、キーボードの代わりに音声を使い、AST認識コマンドと組み合わされている。

  • 音声でプログラミングするデモへのリンクと感嘆

    音声でプログラミングするデモ動画へのリンクが共有され、その動画がもたらす魅力的な体験について言及されている。

  • Cursorlessの概要と実際の使用例を見せるStrange Loop発表

    Cursorlessの全体的な概要と、実際に使っている様子を見られるStrange Loop発表動画へのリンク。

  • Cursorless開発への支持と個人的に感じる利用ハードル

    Cursorlessの開発を支持しつつも、実際に使い始めるには精神的な初期コストが高いと感じている。

  • 音声コマンド語の選定への疑問

    urgebat のような特定の単語を選んだ理由についての質問と、対応するアルファベットで始まる別の単語も使えるのかという疑問。

  • 視線追跡技術によるカーソル位置調整の可能性への質問

    視線が留まっている位置にカーソルを置けるような視線追跡技術の現状について疑問を呈している。

  • RSIの経験とタイピングスタイル変更による改善事例の共有

    RSIの問題を経験し、さまざまな人間工学的ツールを試したものの、タイピング方法を変えることが大きな助けになったという個人的な事例の共有。