あくまで自分用のメモです。自分なりの工夫を色々書くと思いますが一般的な書き方ではない可能性があります(その可能性がとても高いです)。
参照
- VS Code API | Visual Studio Code Extension API
- Tree view(サイドパネル)
INDEX
>> 2コマンド(Commands)
>> 4メッセージ(Notifications)
あくまで自分用のメモです。自分なりの工夫を色々書くと思いますが一般的な書き方ではない可能性があります(その可能性がとても高いです)。
>> 2コマンド(Commands)
>> 4メッセージ(Notifications)
extension.tsの最も基本的な構造
コマンド登録
(activate関数の中で実行する)
詳細→Commands | Visual Studio Code Extension API
基本形
オブジェクトにまとめてみる
コマンドを沢山作るとなると一箇所で管理できたほうがいい気がする。
Tree Viewでコマンド登録することがあるので、コマンド名を直に打たないで変数にしておいたほうが把握しやすい。
ラッパーを作ってみる
処理を簡単にする関数を作る。
コマンドをコマンドパレットから呼び出せるようにする
package.jsonの編集
予めpackage.jsonにコマンドを書いておく必要がある。
extension.tsの記述
その上で、extension.tsのactivate関数の中に以下の形で記述。
なおregisterCommand関数とcommandオブジェクトは>> 2で作ったもの。こうするのが一般的というのではない。
例に普通書かれているのはこうとか↓
こう↓
メッセージの表示
右下にぴょこんと出るやつ。その際に選択を求めることも可能。
Notifications | Visual Studio Code Extension API
vscode-extension-samples/extension.ts at main · microsoft/vscode-extension-samples
Information
Warning
Error
選択肢を出すには
普通のInformationメッセージにa,b,cの三択をくっつける
QuickPick
Quick Picks | Visual Studio Code Extension API
VS Code API | Visual Studio Code Extension API QuickPickの項
簡単なラッパーを作ってみる
QuickPickには色々メソッドやプロパティがあるのでこれでは不十分だが、とりあえず練習として。
このラッパーを使ってファイルピッカー?を作る
アクティブファイルの変更時に実行
アクティブなファイルが変わった時
vscode.window.onDidChangeActiveTextEditor(handler)
アクティブなファイルの内容が変わった時(でいいのか?)
vscode.window.onDidChangeTextEditorVisibleRanges(handler)