是否可以编写修改 tasks.json 和 launch.json 的 VS Code 扩展?
Is it possible to write VS Code extension that modifies tasks.json and launch.json?
我想创建自己的扩展,为调试器 (launch.json) 和一组预定义的任务 (tasks.json) 提供预定义的配置。
现在我在这 2 个文件中配置了 vs 代码,但是在许多地方有很多硬代码,这些硬代码会因不同的项目而异。所以理想情况下我想要一个插件,例如读取一个配置文件并将所有这些东西应用到 "tasks.json" 和 "launch.json".
想知道是否可以使用 vs 代码扩展 API。
我认为您可以使用 settings.json
中定义的变量来做到这一点。您可以在 settings.json
(用户或工作区设置)中定义自己的自定义设置:
{
"editor.formatOnSave": false, // normal settings defined by the editor and plugins
"foo.bar": "baz" // custom setting
}
然后您可以在 tasks.json
或 launch.json
中引用此设置,使用字符串插值作为 "${config.foo.bar}"
。
我不确定这是在哪里记录的,但我在 https://github.com/Microsoft/vscode/pull/11291
中找到了对此的引用
更新:
我在 https://github.com/boyvinall/vscode-c-dbg 创建了一个测试仓库。当我在 tasks.json
中调用 "run" 任务时,我得到以下输出:
通过 launch.json
使用我当前的配置似乎不适用于 "gdb" 配置,尽管 "cppdbg" 配置似乎工作正常:
注意,如果它很重要,我是 运行 vscode v1.8.1
Visual Studio Code:1.15.1
settings.json (.vscode文件夹当前目录)
{
"foo.bar": "baz" // custom setting
}
launch.json(示例)
{
"program": "${workspaceRoot}/${config:foo.bar}.exe"
}
我四处寻找发现了它。但它已经过时了,正试图弄清楚。直到助手 visual studio 代码提示在鼠标 hover/over 字符串时给了我信息。
"${config.foo.bar}"
不起作用。
"${config:foo.bar}"
有效。
我想创建自己的扩展,为调试器 (launch.json) 和一组预定义的任务 (tasks.json) 提供预定义的配置。
现在我在这 2 个文件中配置了 vs 代码,但是在许多地方有很多硬代码,这些硬代码会因不同的项目而异。所以理想情况下我想要一个插件,例如读取一个配置文件并将所有这些东西应用到 "tasks.json" 和 "launch.json".
想知道是否可以使用 vs 代码扩展 API。
我认为您可以使用 settings.json
中定义的变量来做到这一点。您可以在 settings.json
(用户或工作区设置)中定义自己的自定义设置:
{
"editor.formatOnSave": false, // normal settings defined by the editor and plugins
"foo.bar": "baz" // custom setting
}
然后您可以在 tasks.json
或 launch.json
中引用此设置,使用字符串插值作为 "${config.foo.bar}"
。
我不确定这是在哪里记录的,但我在 https://github.com/Microsoft/vscode/pull/11291
中找到了对此的引用更新:
我在 https://github.com/boyvinall/vscode-c-dbg 创建了一个测试仓库。当我在 tasks.json
中调用 "run" 任务时,我得到以下输出:
通过 launch.json
使用我当前的配置似乎不适用于 "gdb" 配置,尽管 "cppdbg" 配置似乎工作正常:
注意,如果它很重要,我是 运行 vscode v1.8.1
Visual Studio Code:1.15.1
settings.json (.vscode文件夹当前目录)
{
"foo.bar": "baz" // custom setting
}
launch.json(示例)
{
"program": "${workspaceRoot}/${config:foo.bar}.exe"
}
我四处寻找发现了它。但它已经过时了,正试图弄清楚。直到助手 visual studio 代码提示在鼠标 hover/over 字符串时给了我信息。
"${config.foo.bar}"
不起作用。
"${config:foo.bar}"
有效。