2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

no plan inc.Advent Calendar 2024

Day 19

【2024年版】VsCode + NVDAで上手にプログラミングする方法

Last updated at Posted at 2024-12-19

これはno plan inc.の Advent Calendar 2024の19日目の記事です。

この記事は、2022年末頃に書いた NVDA+VsCode の記事
の追記です。
ここ2年ほどで大きく変わったポイントとしては、IndentNavのアップデートが挙げられます。

IndentNav のアップデート

以前はVsCodeでIndentNavを使う場合、VsCode用のIndentNavアドオンだけ入れておけばよかったのですが、アプデによって現在は「NVDA用のIndentNavアドオン」+「VsCode用のヘルパーアドオン」を組み合わせる必要があります。

具体的には、NVDAのアドオンストアからIndentNavをインストールし、さらに下記のVsCode拡張を導入します。

変わった点

  1. ナビゲーション操作が、Home/Endキーではなくテンキー操作になった。
    (個人的には「どっちでもいいかな」という感じ。別のアドオンとの衝突が減ったので嬉しいぐらい。)

  2. スキップしたコード量をビープ音でフィードバックしてくれるようになった。
    これは大きい改善で、コード全体をイメージしながら移動できるようになりました。

統合ターミナルのアクセシビリティ強化

VsCodeの統合ターミナルのアクセシビリティが大幅強化されました。
以前は出力が読みにくかったり、上下キーでコマンド履歴に戻った際、文字読み上げがバグるなどの不具合があり、Windows Terminalなどを併用するケースも多かったと思います。

しかし現在地カーソルバグは改善され、今はスクリーンリーダーユーザー向けに専用コマンド Alt+F2 が追加され、プレーンテキストで出力を閲覧できるようになりました。

それでも出力を見るなら「ファイル経由」がおすすめ

とはいえ、超長い出力を扱う場合などは、Alt+F2経由では不便なこともあります。
そこで、コマンドの結果をファイルにリダイレクトしてから読む方法を紹介します。

手順

  1. .bashrcに以下の関数epを定義します。

    ep(){
     "$@" &> $HOME/TerminalOutputs/firstLog.json
    }
    

    これで、epコマンドを先頭につければ、結果が$HOME/TerminalOutputs/firstLog.jsonへ出力されます。
    例:ep git log

  2. VsCodeでは、この出力先ファイルを常に3番目のタブで開いておいて、Ctrl+3でパッと切り替えられるようにしておくと便利です。

なぜファイル出力がおすすめ?

  • 超長い出力でも問題なく読める
  • 例えばgit diffがめっちゃ長くて、git diffをすると pagerモード に以降してAlt+F2で読めないことがある。
  • git diff | cat などでpagerを回避しても、Alt+F2だと超長い場合は見切れる
  • Alt+F2は一度閉じると、また同じ出力に戻るのが面倒。
  • ファイル出力なら、別タブで他ファイルを見た後など、Ctrl+3ですぐ先程の出力に戻って確認できる。

デメリット

  • 常に3つ目のタブに結果ファイルを開いておく必要がある。
    私はこのコマンドで開いています。

    code -r $HOME/TerminalOutputs/firstLog.json
    
  • デフォルトでは、タブが空になると自動でグループが閉じてタブ番号がズレる問題があります。
     例えばタブ2のファイルを閉じると、タブ3がタブ2になってしまいます。
    これが起きると面倒なのでsettings.jsonに以下を追加しておくとよいです。

    "workbench.editor.closeEmptyGroups": false,
    

以上の方法を使うと、個人的にはAlt+F2を経由せずに、ファイル出力で結果を確認したほうがラクだったりします。

まとめ

他にもコマンド実行の終了を音でアナウンスしてくれたり、
ファイル保存時のフォーマットをアナウンスしてくれたり、
copilot系の機能の通知音もあったりと、VsCodeはアクセシビリティ頑張ってくれてます!

no plan株式会社について

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?