ACM VSCode 配置(备份)
效果

一 安装gcc并添加到PATH
- 略
二 配置
-
在储存代码的目录新建一个文件夹
.vscode, 并新建三个文件- c_cpp_properties.json
{ "configurations": [ { "name": "MinGW64", "intelliSenseMode": "gcc-x64", "compilerPath": "C:/MinGw/bin/g++.exe", "includePath": [ "${workspaceFolder}" ], "cppStandard": "c++14" } ], "version": 4
}:hexoPostRenderEscape–>
- launch.json
<!–hexoPostRenderEscape:
{
“version”: “0.2.0”,
“configurations”: [
{
<span class="hljs-attr">"name"</span>: <span class="hljs-string">"C++ Launch (GDB)"</span>,
<span class="hljs-attr">"type"</span>: <span class="hljs-string">"cppdbg"</span>,
<span class="hljs-attr">"request"</span>: <span class="hljs-string">"launch"</span>,
<span class="hljs-attr">"targetArchitecture"</span>: <span class="hljs-string">"x64"</span>,
<span class="hljs-attr">"program"</span>: <span class="hljs-string">"${fileDirname}/${fileBasenameNoExtension}.exe"</span>,
<span class="hljs-attr">"args"</span>: [ ],
<span class="hljs-attr">"stopAtEntry"</span>: <span class="hljs-literal">false</span>,
<span class="hljs-attr">"cwd"</span>: <span class="hljs-string">"${fileDirname}/"</span>,
<span class="hljs-attr">"externalConsole"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"internalConsoleOptions"</span>: <span class="hljs-string">"neverOpen"</span>,
<span class="hljs-attr">"MIMode"</span>: <span class="hljs-string">"gdb"</span>,
<span class="hljs-attr">"miDebuggerPath"</span>: <span class="hljs-string">"C:/MinGw/bin/gdb.exe"</span>,
<span class="hljs-attr">"setupCommands"</span>: [
{
<span class="hljs-attr">"description"</span>: <span class="hljs-string">"Enable pretty-printing for GDB"</span>,
<span class="hljs-attr">"text"</span>: <span class="hljs-string">"-enable-pretty-printing"</span>,
<span class="hljs-attr">"ignoreFailures"</span>: <span class="hljs-literal">true</span>
}
],
<span class="hljs-attr">"preLaunchTask"</span>: <span class="hljs-string">"Compile"</span>
}
]
}
:hexoPostRenderEscape–>
- tasks.json
<!--hexoPostRenderEscape:<pre><code class="hljs json">{
<span class="hljs-attr">"version"</span>: <span class="hljs-string">"2.0.0"</span>,
<span class="hljs-attr">"tasks"</span>: [
{
<span class="hljs-attr">"label"</span>: <span class="hljs-string">"Compile"</span>,
<span class="hljs-attr">"command"</span>: <span class="hljs-string">"g++"</span>,
<span class="hljs-attr">"args"</span>: [
<span class="hljs-string">"-g"</span>,
<span class="hljs-string">"${file}"</span>, <span class="hljs-comment">// 指定编译源代码文件</span>
<span class="hljs-string">"-o"</span>,
<span class="hljs-string">"${fileDirname}/${fileBasenameNoExtension}.exe"</span>, <span class="hljs-comment">// 指定输出文件名,不加该参数则默认输出a.exe</span>
<span class="hljs-comment">//"-O2", // 优化级别</span>
<span class="hljs-comment">//"-ggdb3", // 生成和调试有关的信息</span>
<span class="hljs-comment">//"-Wall", // 开启额外警告</span>
<span class="hljs-comment">//"-static-libgcc", // 静态链接</span>
<span class="hljs-comment">//"-std=c++14", // 使用c++17标准</span>
<span class="hljs-comment">//"-finput-charset=UTF-8", //输入编译器文本编码 默认为UTF-8</span>
<span class="hljs-comment">//"-fexec-charset=GB18030", //输出exe文件的编码</span>
<span class="hljs-comment">//"-D _USE_MATH_DEFINES"</span>
],
<span class="hljs-attr">"problemMatcher"</span>: {
<span class="hljs-attr">"owner"</span>: <span class="hljs-string">"cpp"</span>,
<span class="hljs-attr">"fileLocation"</span>: [
<span class="hljs-string">"absolute"</span>,
],
<span class="hljs-attr">"pattern"</span>: {
<span class="hljs-attr">"regexp"</span>: <span class="hljs-string">"^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$"</span>,
<span class="hljs-attr">"file"</span>: <span class="hljs-number">1</span>,
<span class="hljs-attr">"line"</span>: <span class="hljs-number">2</span>,
<span class="hljs-attr">"column"</span>: <span class="hljs-number">3</span>,
<span class="hljs-attr">"severity"</span>: <span class="hljs-number">4</span>,
<span class="hljs-attr">"message"</span>: <span class="hljs-number">5</span>
}
},
<span class="hljs-attr">"type"</span>: <span class="hljs-string">"shell"</span>,
<span class="hljs-attr">"group"</span>: {
<span class="hljs-attr">"kind"</span>: <span class="hljs-string">"build"</span>,
<span class="hljs-attr">"isDefault"</span>: <span class="hljs-literal">true</span>
}
}
]
}:hexoPostRenderEscape–>
- 以上主要用于需要断点调试的时候
- 快速编译可以安装coderunner插件
- 安装coderunner
- 在
.vscode新建setting.json
{ "code-runner.runInTerminal": true, "code-runner.fileDirectoryAsCwd": true, "code-runner.executorMap": { "c": "gcc $fileName -o build/$fileNameWithoutExt.exe && .\\build\\$fileNameWithoutExt.exe", "cpp": "g++ $fileName -o build/$fileNameWithoutExt.exe -Wall -O2 -static-libgcc -std=c++14 && .\\build\\$fileNameWithoutExt.exe" }, "code-runner.preserveFocus": false, "code-runner.saveFileBeforeRun": true
}:hexoPostRenderEscape–>
三 快速编辑
- 在
文件->首选项->用户代码片段->cpp.json中添加
{
"acminit" : {
"prefix": "acminit",
"body": [
"// Author : Wqr_",
"// Time : ${CURRENT_YEAR_SHORT}/${CURRENT_MONTH}/${CURRENT_DATE}",
"#include<bits/stdc++.h>",
"#define iofuck std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)",
"#define INF 0x3f3f3f3f",
"using namespace std;",
"typedef long long ll;",
"int main(){",
" $0",
"}"
],
"description": "acminit"
},
"filein" : {
"prefix": "filein",
"body": [
"#ifndef ONLINE_JUDGE",
"freopen(\"in.txt\",\"r\",stdin);",
"#endif"
],
"description": "filein"
}
}
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!