我正在开发VS代码的扩展(使用javascript)。现在我需要安装VS Code的路径。 Windows有一种方法:
var child = require('child_process');
child.exec('reg query HKEY_CLASSES_ROOT\\*\\shell\\VSCode /v Icon', function (error, strOut, strError) {
//some code...
})
但是只有用户正确安装VS Code才能正常工作。如果此文件夹是从其他计算机复制的(它在注册表中没有任何VS代码),则此功能将失败。
另一方面,它在Linux或OS X上根本无法工作。
我想知道是否有API可以提供帮助(我什么也没找到),或者其他方式可以获得这条路径。
答案 0 :(得分:3)
我不知道你为什么需要VSCODE的目录,但我需要的目录是我的extesion。 它可以按如下方式访问:
var myExtDir = vscode.extensions.getExtension ("publisher.name").extensionPath;
发布者和名称在package.json
中答案 1 :(得分: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-ripgrep)的路径,它是作为vscode的一部分构建的,所以我必须更多地处理路径,但它完成了这项工作。
答案 2 :(得分:0)
编写VSCode并使用node.js,因此您可以访问计算机,用户和节点环境变量。
要获取VSCode的已使用安装路径,您可以使用以下内容;
process.env.VSCODE_CWD
例如,如果我的扩展做的第一件事是;
console.log(process.env.VSCODE_CWD)
它会在调试控制台C:\Program Files\Microsoft VS Code
中打印出以下内容(这是我安装VSCode的地方)。
答案 3 :(得分:0)
您现在可以使用
create or replace file format bigjson_ff
type = json
COMPRESSION = none
STRIP_OUTER_ARRAY = true
ALLOW_DUPLICATE = TRUE;
select
parse_json($1)
from @stage_java/bigjson.json (file_format => 'bigjson_ff');