VSCode Macrosのマクロで出力(OUTPUT)ウィンドウを使用する方法

この記事は公開から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}`);
    }
}

GitHub Gist

一度生成したOutputWindowを取得する手段(API)がないため、nodeのグローバル変数に保持しています。
変数がany型になるため、残念ながらインテリセンスは効きません。

マクロ実行結果

マクロを実行すると、以下のようにMy Outputという名称で出力ウィンドウへダミー文字列を10行出力します。

file

参考ウェブサイトなど

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする