2016-08-15 68 views
1

我正在開發VS代碼的擴展(使用JavaScript)。現在我需要安裝VS Code的路徑。 有一個用於Windows的方式:VS Code的擴展如何獲得VS Code的安裝路徑?

var child = require('child_process'); 
child.exec('reg query HKEY_CLASSES_ROOT\\*\\shell\\VSCode /v Icon', function (error, strOut, strError) { 
//some code... 
}) 

但是當用戶正確只安裝VS代碼它的工作原理。如果這個文件夾是從其他機器上覆制的(這對於註冊表中的VS代碼沒有任何意義),該功能將失敗。

在另一方面,它不能在所有Linux或OS X.

我不知道是否有它的API可以幫助工作(我什麼也沒發現),或者其他的方式可以得到這條道路。

回答

1

我不知道你爲什麼需要VSCODE的目錄,但我需要的目錄是我的extesion。 它可以作爲訪問如下:

var myExtDir = vscode.extensions.getExtension ("publisher.name").extensionPath; 

如果出版商和名稱是的package.json

+0

那麼,我需要vscode目錄,因爲我想修改其中的HTML文件。我在github上找到了一個項目([shalldie/vscode-background](https://github.com/shalldie/vscode-background/))就提供了一種方法。否則,我放棄了在vscode上開發,因爲我發現開發Atom的擴展更容易。 – illyrix

0

我想我補充一點,你發現自己的情況下,回答別人上門找相同事情。

path.dirname(require.main.filename); 
在Ubuntu

返回(對我來說)

/usr/share/code/resources/app/out 

,並在Windows,返回

c:\Program Files\Microsoft VS Code\resources\app\out 

它應該返回適​​合OSX東西太多。

這是包含bootstrap.js的文件夾,足以確定應用程序的安裝位置(在此實例中爲默認位置)。

在我的情況下,我想要一個作爲vscode的一部分構建的節點模塊之一(vscode-ripgrep)的路徑,所以我必須處理更多的路徑,但它完成了這項工作。

0

VSCode編寫並使用node.js,因此您可以訪問計算機,用戶和節點環境變量。

要獲取VSCode的已用安裝路徑,可以使用以下方法;

process.env.VSCODE_CWD

舉例來說,如果我的分機做的第一件事是; console.log(process.env.VSCODE_CWD)它將在調試控制檯C:\Program Files\Microsoft VS Code中打印出以下內容(這是我安裝VSCode的地方)。

相關問題