vscode使用visual studio 2019的MSVC配置C/C++編譯環境
第一步安裝VS Code的C/C++擴展。
您可以通過在“擴展”視圖(Ctrl + Shift + X)中搜索“ c++”來安裝C/C++擴展。
在開始第二步之前,確保你已經安裝了visual studio 2019的Microsoft Visual C ++(MSVC)編譯器工具集。我之前安裝了visual studio 2019的企業版,所以就不用安裝了。
第二步配置環境變量
變量名 | 值 |
---|---|
PATH | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.25.28610\bin\Hostx64\x64 |
INCLUDE | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.25.28610\include |
INCLUDE | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\SDK\ScopeCppSDK\vc15\SDK\include\shared |
INCLUDE | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\SDK\ScopeCppSDK\vc15\SDK\include\ucrt |
INCLUDE | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\SDK\ScopeCppSDK\vc15\SDK\include\um |
LIB | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.25.28610\lib\x64 |
LIB | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\SDK\ScopeCppSDK\vc15\SDK\lib |
每次修改環境變量應用確定更新之後,一定要重新打開vscode讀取最新的環境狀態。
第三步配置Visual Studio Code的json文件
主要涉及tasks.json、launch.json和settings.json這三個文件,詳細操作參考https://code.visualstudio.com/docs/cpp/config-msvc
其實配置文件都是按照官網指引操作之後生成的默認json文件,下面是我生成json文件的內容
launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) 啓動",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/Test.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false
}
]
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: cl.exe build active file",
"command": "cl.exe",
"args": [
"/Zi",
"/EHsc",
"/Fe:", "${fileDirname}\\${fileBasenameNoExtension}.exe",
"${workspaceFolder}\\Test.cpp"
],
"problemMatcher": [
"$msCompile"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
如果你要生成多個文件,可以將
"${workspaceFolder}\\Test.cpp"
改爲
"${workspaceFolder}\\*.cpp"
這樣就不用侷限於只編譯一個文件了。
settings.json
{
"files.associations": {
"vector": "cpp",
"string": "cpp",
"iostream": "cpp"
}
}
第四步,創建並保存cpp測試文件
#include <iostream>
#include <vector>
#include <string>
#include <unordered_map>
using namespace std;
int main(){
unordered_map<int, int> m;
vector<int> vlist;
vlist.push_back(1);
vlist.push_back(2);
vector<int>::iterator beg = vlist.begin();
vector<int>::iterator end = vlist.end();
for(;beg!=end;beg++)
{
cout<<*beg<<endl;
}
system("pause");
return 0;
}
第五步,編譯Test.cpp
編譯完成之後,會比原來多出一些文件,估計是一些鏈接文件以及中間代碼。
第六步,斷點調試,Start Debugging,顯示結果
總結
用vscode裝上leetcode插件刷算法題,啓動速度和提交代碼都方便不少,但是很多東西需要自己設置,耗時費力,有時候還會報出一些莫名其妙的錯誤,調也能調很久,耗時費力,整體感受還不如visual studio 2019方便。