網站搜尋

typescript - 在 VisualStudio Code 從擴充功能安裝擴充功能


我目前正在嘗試開發一個 Visual Studio Code 擴充功能,用於擴充功能的部署。我的擴充功能應該做的是從 Marketplace 安裝另一個擴充功能。

顯而易見的方法來做這件事(至少我認為是)是創建一個子進程並執行

code --install-extension publisher.extension_name

這個命令通常運作正常,但當它從插件內部執行時,它會返回:"錯誤:命令失敗:錯誤的選項:--install-extension"。

我首先想到的是擴展程式不會以正確的方式執行命令,所以我嘗試運行“dir C:\Users”作為測試,結果完全正常。之後我嘗試運行

code --list-extensions

但是它返回了相同的錯誤。所以看起來我無法從插件內部運行任何使用 Visual Studio Code 本身的命令。有人能解釋這種行為嗎?有人知道是否有更好的方法可以從一個擴展安裝另一個擴展嗎?

答案#1

所以我找到了一個解決方案:我沒有啟動子進程(由於上述原因無法工作),而是使用 vscode API 並執行我的命令如下:

vscode.window.createTerminal().sendText("code --install-extension your.extension");

我仍然不明白為什麼我的第一個想法行不通,而這個卻可行。我在問題中可能應該強調的是,這個插件的整個目的是從市場部署其他插件。這個插件本身並不依賴於其他插件,所以如評論中所建議使用 package.json 是不可能的。

答案#2

我遇到相同的問題,使用 powershell.exe 解決問題