我正在开发 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...
})
Run Code Online (Sandbox Code Playgroud)
但它仅在用户正确安装 VS Code 时才有效。如果该文件夹是从其他机器复制过来的(这意味着注册表中的 VS Code 没有任何内容),则此功能将失败。
另一方面,它在 Linux 或 OS X 上根本无法运行。
我想知道是否有可以提供帮助的 API(我什么也没找到),或者其他方法可以获得该路径。
这是对象定义:
var Vars = new function(){
var that = this;
this.assign = function(name) {
var realValue = undefined;
Object.defineProperty(that, name, {
configurable: true,
get: function() {
//console.log("Get"); do something...
return realValue;
},
set: function(v) {
//console.log("Set"); do something...
realValue = v;
}
});
}
this.destroy = function(name) {
return delete that[name];
}
};
Run Code Online (Sandbox Code Playgroud)
但我发现我不能按照我想要的方式迭代这个对象.
>> Vars.assign("key")
<- undefined
>> Vars.key = 1
<- 1
>> Vars.key
<- 1
>> for(var i in Vars){console.log(i);}
assign
destroy
<- undefined
Run Code Online (Sandbox Code Playgroud)
当我遍历对象时,我怎么能达到"密钥"?