Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

Visual Studio Codeの拡張機能で環境変数を取りたい取得したい!

$
0
0

ここらへんになるとnode.jsとかelectronの範疇になるんですね。 一生懸命VS Codeの拡張機能のAPIリファレンス眺めてて悩んでました。

ということでprocess.envから取得できます。先日作ったjava -versionを出力ウィンドウに出力するプログラムをJAVA_HOME環境変数からフルパス指定で実行する方法は以下のような感じになります。

'use strict';
import * as vscode from 'vscode';
import * as child_process from 'child_process';
import * as path from 'path';

exportfunction activate(context: vscode.ExtensionContext) {var outputChannel = vscode.window.createOutputChannel("java");

    // ここ!var javaHome = process.env['JAVA_HOME'];
    var javaCommand = '"' + path.join(javaHome, "bin", 'java.exe') + '"';


    let disposable = vscode.commands.registerCommand('extension.sayHello', () => {
        child_process.exec(javaCommand + " -version", (error, stdout, stderror) => {
            outputChannel.appendLine(stdout);
            outputChannel.appendLine(stderror);
        });
    });

    context.subscriptions.push(disposable);
}exportfunction deactivate() {}

パスの結合はimport * as path from "path";で読み込んだpathのjoinがいい具合にやってくれるので楽ちんです。


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>