vscode-擴充套件外掛-呼叫系統程式
阿新 • • 發佈:2018-11-27
呼叫系統程式 (windows的exe)
嘗試了幾個nodejs庫 如 child_process , shelljs 等去執行命令, 均失敗, 但是用純js寫的就可以執行命令. 一度失望, 讓後想到可以使用終端相關api, 在終端中開啟, 嘗試了一下結果ok啊啊啊!!! 喜大普奔…
以用Markdown編輯器開啟Markdown檔案為例.
private mdTml: vscode.Terminal | undefined; public async openMarkdown() { let doc = vscode.window.activeTextEditor!.document; let path = doc.uri.fsPath; if (doc.languageId !== "markdown") { Utils.showErrMsg(`不是 Markdown 檔案, (${path})`); return; } if (this.mdTml === undefined) { this.mdTml = vscode.window.createTerminal("TyporaOpen"); } let cmdStr = `Typora ${path}`; // Typora 所在目錄必須在環境變數中, 你也可以把它抽出來作為配置 this.mdTml.show(false); this.mdTml.sendText(cmdStr); } vscode.window.onDidCloseTerminal((terminal) => { // 監聽終端被關閉 if (terminal.name === "TyporaOpen") { this.mdTml = undefined; } });