是否可以编写VS代码扩展来修改tasks.json和launch.json?

时间:2017-01-13 06:49:48

标签: visual-studio-code vscode-extensions

我想创建自己的扩展,为调试器(launch.json)和预定义的任务集(tasks.json)提供预定义的配置。

现在我在这2个文件中配置了vs代码,但是在很多地方有很多硬编码会因不同的项目而异。理想情况下,我希望有一个插件,例如读取一个配置文件并将所有内容应用于“tasks.json”和“launch.json”。

想知道这是否可以使用vs代码扩展API。

2 个答案:

答案 0 :(得分:2)

我认为您可以使用settings.json中定义的变量执行此操作。您可以在settings.json(用户或工作区设置)中定义自己的自定义设置:

{
  "editor.formatOnSave": false,  // normal settings defined by the editor and plugins
  "foo.bar": "baz" // custom setting
}

然后,您可以使用字符串插值tasks.jsonlaunch.json"${config.foo.bar}"中引用此设置。

我不确定记录的位置,但我在https://github.com/Microsoft/vscode/pull/11291

中找到了对此的引用

<强>更新

我已在https://github.com/boyvinall/vscode-c-dbg创建了一个测试回购。当我调用&#34;运行&#34; tasks.json内的任务,我得到以下输出:

enter image description here

通过launch.json使用我当前的配置似乎无法使用&#34; gdb&#34;配置,虽然&#34; cppdbg&#34;配置看起来确实有效:

enter image description here

注意,如果它很重要,我正在运行vscode v1.8.1

答案 1 :(得分:0)

Visual Studio代码:1.15.1

settings.json(.vscode文件夹当前目录)

{
"foo.bar": "baz" // custom setting 
}

launch.json(示例)

{
"program": "${workspaceRoot}/${config:foo.bar}.exe"
}

我环顾四周找到了它。但它已经过时了,并试图弄明白。直到帮助器可视化工作室代码提示在鼠标悬停/遍历字符串时向我提供了信息。

  

&#34; $ {config.foo.bar}&#34;

不起作用。

  

&#34; $ {配置:foo.bar}&#34;

确实有效。