VS Code Tips

時々必要になるが、その時には多分忘れているであろう知識を書き残しておく。

Verible のバックエンドに引数を渡す

VS Code の拡張機能 Verible には公式の設定ファイルが無い(ver 0.0.3622 時点)。このままでは自分の都合に合わせた lint check が不可能である。そこで、拡張機能に少し手を加えてバックエンドに所望の引数を渡す方法をとる。拡張機能のインストール場所は次の通りである。

ext_dir=~/(.vscode|.vscode-server)/extensions/chipsalliance.verible-0.0.3622

() の中について、前者は普通に VS Code を実行している場合であり、後者は VS Code Server 越しにリモート接続している場合である(典型的には Windows 上の VS Code から WSL に接続している場合)。拡張機能のバージョン番号は読者の環境に合わせて適宜変える必要がある。

拡張機能のバックエンドは $ext_dir/bin/verible-verilog-ls である。これを適当に改名し、元のファイルと同名の bash スクリプトから所望の引数付でリネーム後のバックエンドを実行すればよい。ここでは verible-verilog-lsverible-verilog-ls-core と改名する。bash スクリプトの中身は例えば次のようにする。

#!/usr/bin/env bash

# wrapper script to call `verible-verilog-ls` with additional arguments.
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
$SCRIPT_DIR/verible-verilog-ls-core --rules=+line-length="length:200" "$@"

おそらく、ここで施した改造は拡張機能が更新されるときに公式のファイルで上書きされて消失するため、その都度対応が必要と予想される。

Code Spell Checker でテキスト形式の単語リストを参照させる

ctrl + , を押して出てくる設定画面で spell を検索すると Code Spell Checker の設定が見つかる。その中の “Custom Dictionaries” を settings.json で編集する(そのためのボタンが表示されているはず)。トップ階層の下に例えば次のような設定を追加する。

"cSpell.customDictionaries": {
    "project-words-linux": {
        "name": "project-words-linux",
        "path": "/mnt/d/share_home/022_Git_repos/ProgrammingWordDictionary/dict.txt",
        "description": "Words used in this project",
        "addWords": true
    },
    "project-words-windows": {
        "name": "project-words-windows",
        "path": "D:/share_home/022_Git_repos/ProgrammingWordDictionary/dict.txt",
        "description": "Words used in this project",
        "addWords": true
    },
    "custom": true,
    "internal-terms": true
}

各部の意味は見れば解るであろうから説明は割愛する。重要なことは、複数の辞書を好きなだけ登録できること、およびファイルが実在しない辞書は無視されることである。

ところで、この項目は Settings Sync で同期しない方がよい(PC によって参照する辞書のファイルが異なるケースが頻繁にあり得る。例えば Git で公開されている単語リストを使う場合、そのリポジトリをクローンする場所は PC によって異なるだろう)。

投稿者: motchy

An embedded software and FPGA engineer for measuring instrument.

コメントを残す