寫前感想:前前后后,折騰好幾次,最后還是在學長安利下,開始入坑vscode了。原因一個是小巧,還有就是vs新建工程碼題的方式太消耗內存了,基本每個項目就是以MB為單位計算的,然后希望用這篇文章記錄自己的配置經歷。多爬山多閱歷,才能視野更開闊。
1. 下載VScode: https://code.visualstudio.com/Download
2. 安裝好以后首先第一步安裝c++插件,有很多選擇,例如clang,我選擇的就是這幾款,第一個是cpptools,保證支持c++的語法啊,什么的,后面兩個更多是插件補全吧,選擇就好。

3. 接下來就是安裝編譯調試環境:和網上大多數教程一樣,目前windows下調試僅支持 Cygwin 和 MinGW。這里使用的是MinGW。涉及到版權問題,我就直接貼一下我參照的原網址:點擊打開鏈接
然后需要特別注意的是,里面task.json最好按照模板模式寫
-
{
-
"version":
"0.1.0",
-
"command":
"g++",
-
"args": [
"-g",
"${file}",
"-o",
"${file}.exe"],
// 編譯命令參數
-
"problemMatcher": {
-
"owner":
"cpp",
-
"fileLocation": [
"relative",
"${workspaceRoot}"],
-
"pattern": {
-
"regexp":
"^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
-
"file":
1,
-
"line":
2,
-
"column":
3,
-
"severity":
4,
-
"message":
5
-
}
-
}
-
}
然后也是那個launch.json
-
{
-
"version":
"0.2.0",
-
"configurations": [
-
{
-
"name":
"C++ Launch (GDB)",
// 配置名稱,將會在啟動配置的下拉菜單中顯示
-
"type":
"cppdbg",
// 配置類型,這里只能為cppdbg
-
"request":
"launch",
// 請求配置類型,可以為launch(啟動)或attach(附加)
-
"launchOptionType":
"Local",
// 調試器啟動類型,這里只能為Local
-
"targetArchitecture":
"x86",
// 生成目標架構,一般為x86或x64,可以為x86, arm, arm64, mips, x64, amd64, x86_64
-
"program":
"${file}.exe",
// 將要進行調試的程序的路徑
-
"miDebuggerPath":
"C:\\MinGW\\bin\\gdb.exe",
// miDebugger的路徑,注意這里要與MinGw的路徑對應
-
"args": [
"blackkitty",
"1221",
"# #"],
// 程序調試時傳遞給程序的命令行參數,一般設為空即可
-
"stopAtEntry":
false,
// 設為true時程序將暫停在程序入口處,一般設置為false
-
"cwd":
"${workspaceRoot}",
// 調試程序時的工作目錄,一般為${workspaceRoot}即代碼所在目錄
-
"externalConsole":
true,
// 調試時是否顯示控制台窗口,一般設置為true顯示控制台
-
"preLaunchTask":
"g++"
// 調試會話開始前執行的任務,一般為編譯程序,c++為g++, c為gcc
-
}
-
]
-
}
特別注意一下那個miDebugger的路徑,注意這里要與MinGw的路徑對應,這個涉及到調試層面的問題。
4. 可以調試以后就算成功了一大半了,然后就是配置in.txt,out.txt吧,直接在文件夾新建然后把文件拖到右邊分屏,這樣看起來就特別舒服,嘖嘖嘖
5. 然后就是一些小地方,我習慣了studio的tab大發和高亮主題:
Tab鍵設置既可以下載一些插件自動設置,我是直接手動操作的,也不難:點擊左上角“文件”->“首選項”->“設置”,就會出來一個setting.json,搜索一下tab,如果里面設置不符合自己的心意的話,就直接復制格式,然后自己在setting里面更改再保存就好了

最后就是主題,其實挺喜歡深色主題的,畢竟養眼,然而目前沒找到一款好看的,就且用着淺色吧,主題可以先去插件下載的地方搜索關鍵詞“theme”,然后逐個點進去看看是否有符合心意的,如圖:
最后應用時候點擊左上角“文件”->“首選項”->“顏色主題”,進去以后自己選擇一款自己喜歡的即可:


6. 最后還是安利一波輸入輸出流的神代碼配合之前的in.txt,out.txt,至少對於acmer來說調試是極好的,而且交到oj上也沒問題,直接略過
-
#ifndef ONLINE_JUDGE
-
freopen(
"in.txt",
"r",
stdin);
-
freopen(
"out.txt",
"w",
stdout);
-
long _begin_time = clock();
-
#endif
-
-
-
#ifndef ONLINE_JUDGE
-
long _end_time = clock();
-
printf(
"time = %ld ms\n", _end_time - _begin_time);
-
#endif
效果圖