この記事は公開から3年以上経過しています。
VSCode Macros拡張のマクロから出力(OUTPUT)ウィンドウを使用する方法。
マクロのサンプルソースコード
const vscode = require('vscode');
// 出力ウィンドウの生成
if (global.phee7Bie === undefined) {
// nodeのグローバル変数にOutputChannelを設定
// ※phee7Bieはグローバル変数名の衝突を避けるためのランダム文字列
global.phee7Bie = {
outputWindow: vscode.window.createOutputChannel('My Output'),
};
}
const outputWindow = global.phee7Bie.outputWindow;
/**
* マクロコンフィギュレーション(環境に合わせてお好みで設定)
*/
module.exports.macroCommands = {
出力ウィンドウサンプル: {
no: 1,
func: OutputToOutputWindow,
},
};
/**
* 出力ウィンドウへの出力
*/
function OutputToOutputWindow() {
// 出力ウィンドウを表示&クリア
outputWindow.show(false);
outputWindow.clear();
// 出力ウィンドウにダミーテキストを出力
for (let i = 1; i <= 10; ++i) {
outputWindow.appendLine(`Dummy text ${i}`);
}
}
一度生成したOutputWindowを取得する手段(API)がないため、nodeのグローバル変数に保持しています。
変数がany型になるため、残念ながらインテリセンスは効きません。
マクロ実行結果
マクロを実行すると、以下のようにMy Output
という名称で出力ウィンドウへダミー文字列を10行出力します。
参考ウェブサイトなど
- VS Code API
window.createOutputChannel()
以上です。