Visual studio code 是否可以编写VS代码扩展来修改tasks.json和launch.json?
我想创建自己的扩展,为调试器(launch.json)和一组预定义的任务(tasks.json)提供预定义的配置 现在我已经在这两个文件中配置了vs代码,但是在许多地方有很多硬代码,它们在不同的项目中会有所不同。因此,理想情况下,我希望有一个插件,例如读取一个配置文件,并将所有这些内容应用于“tasks.json”和“launch.json”Visual studio code 是否可以编写VS代码扩展来修改tasks.json和launch.json?,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我想创建自己的扩展,为调试器(launch.json)和一组预定义的任务(tasks.json)提供预定义的配置 现在我已经在这两个文件中配置了vs代码,但是在许多地方有很多硬代码,它们在不同的项目中会有所不同。因此,理想情况下,我希望有一个插件,例如读取一个配置文件,并将所有这些内容应用于“tasks.json”和“launch.json” 想知道vs code extensions API是否可能实现这一点。我认为您可以使用settings.json中定义的变量来实现这一点。您可以在sett
想知道vs code extensions API是否可能实现这一点。我认为您可以使用
settings.json
中定义的变量来实现这一点。您可以在settings.json
中定义自己的自定义设置(用户或工作区设置):
然后,您可以在tasks.json
或launch.json
中引用此设置,使用字符串插值作为“${config.foo.bar}”
我不确定这是在哪里记录的,但我在
更新:
我已经在创建了一个测试回购。当我在tasks.json
中调用“run”任务时,我得到以下输出:
通过launch.json
使用我的当前配置似乎无法与“gdb”配置配合使用,尽管“cppdbg”配置似乎可以正常工作:
注意,如果这很重要,我正在运行vscode v1.8.1Visual Studio代码:1.15.1 settings.json(.vscode文件夹当前目录) launch.json(示例) 我四处寻找,发现了它。但这已经过时了,我正试图弄明白。直到鼠标悬停在字符串上时,助手visual studio代码提示给了我信息 “${config.foo.bar}” 不起作用 “${config:foo.bar}”
确实有效。似乎不起作用。我没有收到任何“未知引用”类型的错误,但是似乎settings.json中定义的“${config.foo.bar}”解析为空字符串。另外,VS代码在settings.json文件中给出了一个警告“未知配置设置”。我已经用一个指向github repo的链接更新了答案,该链接显示了此操作的有效性。你能运行那个吗?那个运行正常,因为在settings.json中,“config”前缀应该是ommited,我没有看到。你知道是否可以通过扩展api来预定义任务吗?嗯,不确定预定义的任务-抱歉,我之前错过了。如果我能解决这个问题,我会试着四处看看,并在这里添加评论。
{
"editor.formatOnSave": false, // normal settings defined by the editor and plugins
"foo.bar": "baz" // custom setting
}
{
"foo.bar": "baz" // custom setting
}
{
"program": "${workspaceRoot}/${config:foo.bar}.exe"
}