如何在 VS Code 中添加自定义编译命令?
How to add the custom compile commands in VS Code?
我通常在 Geany IDE 中进行竞争性编程,并且有以下自定义 compile 命令来编译 C++ 程序 -
g++ -std=c++17 -Wshadow -Wall -o "%e" "%f" -g -fsanitize=address -fsanitize=undefined -D_GLIBCXX_DEBUG
编译命令由f9
键绑定。我只需要按 f9
,它会保存并编译文件,然后我切换到 bash 终端(f2
快捷键)来执行二进制文件。
终端也遵循当前在编辑器中打开的文件的路径。
我想要在 VS Code 中进行相同的设置。
到目前为止,我已经设法将编辑器和终端并排放置,并通过 f1
和 f2
.
轻松切换它们之间的焦点
但我无法设置自定义 compile 命令,将其与 f9
键绑定并配置终端,使其遵循当前焦点编辑器中的文件路径。
请给我一个完整的解决方案。直接编辑 json 设置文件会好得多。
这是我的 Geany IDE 中设置的快照:-
This is how my Geany looks and the Setting boxes
您可以在 VS Code 中设置一个 custom task
。编辑工作区 .vscode
文件夹中的 tasks.json
文件,如:
{
"version": "2.0.0",
"tasks": [
{
"label": "My build task",
"type": "shell",
// Assign output file name with VSCode inner variables like ${fileBasename}
"command": "g++ -std=c++17 -Wshadow -Wall -o ${fileBasename} -g -fsanitize=address -fsanitize=undefined -D_GLIBCXX_DEBUG",
"options": {
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
可以直接将编译命令写到"command"
属性中,也可以将更多的命令写到脚本中,然后将简单的执行脚本命令写到属性中。
并且 "isDefault": true
属性使这个 default task
可以简单地与 ctrl+shift 绑定调用+B.
我通常在 Geany IDE 中进行竞争性编程,并且有以下自定义 compile 命令来编译 C++ 程序 -
g++ -std=c++17 -Wshadow -Wall -o "%e" "%f" -g -fsanitize=address -fsanitize=undefined -D_GLIBCXX_DEBUG
编译命令由f9
键绑定。我只需要按 f9
,它会保存并编译文件,然后我切换到 bash 终端(f2
快捷键)来执行二进制文件。
终端也遵循当前在编辑器中打开的文件的路径。
我想要在 VS Code 中进行相同的设置。
到目前为止,我已经设法将编辑器和终端并排放置,并通过 f1
和 f2
.
轻松切换它们之间的焦点
但我无法设置自定义 compile 命令,将其与 f9
键绑定并配置终端,使其遵循当前焦点编辑器中的文件路径。
请给我一个完整的解决方案。直接编辑 json 设置文件会好得多。
这是我的 Geany IDE 中设置的快照:-
This is how my Geany looks and the Setting boxes
您可以在 VS Code 中设置一个 custom task
。编辑工作区 .vscode
文件夹中的 tasks.json
文件,如:
{
"version": "2.0.0",
"tasks": [
{
"label": "My build task",
"type": "shell",
// Assign output file name with VSCode inner variables like ${fileBasename}
"command": "g++ -std=c++17 -Wshadow -Wall -o ${fileBasename} -g -fsanitize=address -fsanitize=undefined -D_GLIBCXX_DEBUG",
"options": {
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
可以直接将编译命令写到"command"
属性中,也可以将更多的命令写到脚本中,然后将简单的执行脚本命令写到属性中。
并且 "isDefault": true
属性使这个 default task
可以简单地与 ctrl+shift 绑定调用+B.