首先安裝 clang和lldb
sudo pacman -S clang
sudo pacman -S lldb
然后安裝VScode
yaourt visual-studio-code-bin #我用這種方法安裝成功
安裝完發(fā)現(xiàn)是英文侮穿,沒關(guān)系罐韩,我早就知道了你可能更喜歡投入母語的懷抱烂琴,下面是VScode漢化教程:
ctrl+alt+p
configure language
locale后面的屬性直到冒號丸升,然后重新輸入冒號會自動出現(xiàn)代碼提示
zh-CN
然后在彈出的搜索框中輸入Chinese,然后選擇【Chinese (Simplified)Language Pack for Visual Studio Code】丢习,然后點擊右側(cè)的【Install】
c_cpp_properties.json的配置文件如下
{
"configurations": [
{
"name": "Linux",
"includePath": [
"/usr/inlcude",
"/usr/local/include",
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++17",
"browse":{"path":[
"/usr/inlcude",
"/usr/local/include",
"${workspaceFolder}/**"
]
},
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
找到.vscode文件夾,將文件夾拖入vscode中淮悼,創(chuàng)建tasks.json咐低,配置如下:
{
"version": "2.0.0",
"tasks": [
{
"label": "Build with clang", // 任務(wù)名稱,與launch.json的preLaunchTask相對應(yīng)
"type":"shell",
"command": "clang++", // 如果用MinGW袜腥,編譯C用gcc见擦,編譯c++用g++
"args": [
"${file}",
"-o", // 指定輸出文件名,不加該參數(shù)則默認(rèn)輸出a.exe
"${fileDirname}/${fileBasenameNoExtension}.out",
"-g", // 生成和調(diào)試有關(guān)的信息
"-Wall", // 開啟額外警告
"-fcolor-diagnostics",
"-std=c++1z" // c++1z即c++17,C語言最新標(biāo)準(zhǔn)為c11鲤屡,或根據(jù)自己的需要進(jìn)行修改
], // 編譯命令參數(shù)
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"/"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", // 正則表達(dá)式损痰,用于描述在“問題”欄中顯示的信息。
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
]
}
需要安裝 negative debugger (如果使用lldb的話酒来,不使用lldb則不需要安裝)
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb-mi",
"request": "launch",
"name": "C++ LLDB",
"target": "${fileDirname}/${fileBasenameNoExtension}.out",
"preLaunchTask":"Build with clang", //提前執(zhí)行的準(zhǔn)備,和tasks.json中名字一樣
"cwd": "${workspaceRoot}"
},
{
"name": "C++ GDB", // 配置名稱卢未,將會在調(diào)試配置下拉列表中顯示
"type": "cppdbg", // 調(diào)試器類型:Windows表示器使用cppvsdbg;GDB和LLDB使用cppdbg堰汉。該值自動生成
"request": "launch", // 調(diào)試方式
"program": "${fileDirname}/${fileBasenameNoExtension}.out",// 將要進(jìn)行調(diào)試的程序的路徑
"args": [], // 傳遞給上面程序的參數(shù)辽社,沒有參數(shù)留空即可
"stopAtEntry": false, // 是否停在程序入口點(停在main函數(shù)開始)
"cwd": "${workspaceRoot}", // 調(diào)試程序時的工作目錄,一般為${workspaceRoot}即代碼所在目錄
"environment": [],
"externalConsole": false, // 調(diào)試時是否顯示控制臺窗口
"MIMode": "gdb",
"preLaunchTask":"Build with clang", //提前執(zhí)行的準(zhǔn)備,和tasks.json中名字一樣
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}]
}
]
}