kakehashiを使うと、Markdownのコードブロックみたいな、ソースコード内に埋め込まれた別言語でも補完や定義ジャンプといったインテリジェントな機能を活用できます。
そんな便利なkakehashiをVSCodeでも使えるように、拡張機能を開発しました!動作の様子は以下!是非使ってみてください。
ちなみに、例はマークダウンなだけで、実際には様々な文書フォーマットに拡張可能です。そのあたりの話はまた別の機会に……。
導入方法
- kakehashi (CLI)をインストール
- cargoやbrewでインストール
brew install atusy/tap/kakehashicargo install --git https://github.com/atusy/kakehashi
- 必要に応じてPATH環境変数を調整
- cargoやbrewでインストール
- kakehashi (CLI)を設定
~/.config/kakehashi/kakehashi.tomlを作成kakehashiで使いたい言語の言語サーバーを設定
# kakehashi.toml [languageServers.basedpyright] cmd = ["basedpyright-langserver", "--stdio"] languages = ["python"] [languageServers.r_language_server] cmd = [ "R", "--no-echo", "-e", "languageserver::run()"] languages = ["R", "r"]
- kakehashi (拡張)をインストール
- マーケットプレイスで
kakehashiを検索するか、code --install-extension atusy.kakehashi-vscodeを実行
- マーケットプレイスで
- VSCodeを設定(
settings.json)Ctrl+Shift+Pでコマンドパレットを開きPreferences: Open User Settings (JSON)を実行以下のように
["markdown"]と"kakehashi.documentSelector"を追記{ "[markdown]": { "editor.quickSuggestions": { "other": "on" } }, "kakehashi.documentSelector": [ "markdown" ] }
QuartoやR Markdownで使いたい場合
- kakehashi (CLI)を追加設定
toml [languages.qmd] base = "markdown" [languages.rmd] base = "markdown" - VSCodeを追加設定
- 必要な拡張機能(quarto.quarto・REditorSupport.r)をインストール
settings.jsonのkakehashi.documentSelectorに"rmd"や"quarto"追記
ENJOY!!
kakehashi本体や拡張機能についてもっと詳しく知りたい方は、リポジトリのREADMEを参照してください。スターつけてただけるとモチベーション爆上がりします!!
RユーザーとしてはPositron対応が気になるところかと思いますが、未対応です!乞うご期待!!
スポンサーもお待ちしてます!
Atusy's blog