介紹
VS code 很好用。
WSL很好。
所以兩者結合起開使用爽歪歪。
在Windows上模擬Linux進行編譯的方式有幾種
1、安裝MinGW,使用gcc或者g++進行編譯
2、使用Windows連接WSL進行編譯
本文介紹第二種
注意:Linux下的項目,在Windows上編譯操作,1,2兩種方案都是很好的.
要是想保持開發環境與生產環境一致,可以使用第二種.第一種可能使用的g++版本不一致.
目標
在Windows下使用vs code編輯Ubuntu下的代碼,讓其在Ubuntu下編譯執行。
准備
window上開啟Linux子系統
使用Ubuntu,配置清華大學的源--->這一步是為了加速安裝軟件.不懂的百度或者留言.
過程略
Windows上安裝vs code
過程略,
插件的安裝方式自行百度.
通過插件可以更改軟件為中文.
操作
根據官網的方式
1、在Linux子系統上找個目錄,然后執行code .
這個命令是可以通過WSL打開Windows下的vs code編輯器
安裝插件
Ctrl+shift+p
打開安裝插件的搜索條
c/c++
remote-wsl
c++Intellisence
安裝插件的時候注意:
需要在WSL中再次安裝,雙擊插件名字旁邊的在wsl中安裝即可安裝.
需要在WSL中安裝g++ gcc---->自行百度解決
2、新建一個hello.cpp文件
里面寫上C++輸出hello world的代碼
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg{"hello world", "你好"};
for (const string &word : msg)
{
/* code */
cout << word << " ";
}
cout << endl;
}
配置
這三個文件是通過設置自動生成的.
在你當前的目錄下會生成一個.vscode的目錄,這個目錄里存放着三個文件.
這三個文件是控制着這個工程如何運作的.
配置完這三個文件就可以運行代碼了.
c_cpp_properties.json (編譯器路徑和IntelliSense設置)
tasks.json (任務執行)
launch.json (調試器設置)
tasks.json
tasks.json文件來告訴VS Code如何構建(編譯)程序
從主菜單中,選擇Terminal > Configure Default Build Task。在下拉列表中,將顯示任務下拉列表,其中列出了C ++編譯器的各種預定義構建任務。選擇g ++ build active file,它將構建當前在編輯器中顯示(活動)的文件。
生成一個模板文件如下:
這里沒啥要修改的.
參數說明:
command設置指定要運行的程序;在這種情況下是g ++。
args數組指定將傳遞給g ++的命令行參數。必須按照編譯器期望的順序指定這些參數。
此任務告訴g ++獲取活動文件(${file})
,對其進行編譯,然后在當前目錄(${fileDirname})
中創建一個與活動文件同名但沒有擴展名(${fileBasenameNoExtension})
的可執行文件.
label值就是您將在任務列表中看到的值;您可以隨意命名。這個label就是在構建的時候出現在vscode編輯器輸出內容的窗口的名字.你可以用中文
要運行中定義的構建任務tasks.json,請按Ctrl + Shift + B
或從終端主菜單中選擇“ 任務:運行構建任務”。就可以執行了.
要是想運行多個CPP文件:您可以tasks.json使用"*.cpp"代替的參數來修改以構建多個C ++文件${file}
。您也可以通過替換"${fileDirname}/${fileBasenameNoExtension}"
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++ build active file",
"command": "/usr/bin/g++",
"args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
launch.json
接下來,您將創建一個launch.json文件來配置VS Code,以在您按F5調試程序時啟動GDB調試器。
從主菜單中,選擇“ 調試” >“ 添加配置...”,然后選擇“ C ++(GDB / LLDB)”。
VS Code創建一個launch.json文件,在編輯器中將其打開,然后生成並運行“ helloworld”。
參數說明
program設置指定要調試的程序。在這里,它被設置為活動文件文件夾${fileDirname}和活動文件名,不帶擴展名${fileBasenameNoExtension},如果helloworld.cpp是,則為活動文件helloworld。
默認情況下,C ++擴展不會在您的源代碼中添加任何斷點,並且其stopAtEntry值設置為false。將stopAtEntry值更改true為會導致調試器main在啟動調試時在該方法上停止。(一般設置為false,如果是true則會在main的位置產生斷點)
{
"version": "0.2.0",
"configurations": [
{
"name": "g++ build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++ build active file",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
c_cpp_properties.json
如果要對C / C ++擴展進行更多控制,則可以創建一個c_cpp_properties.json文件,該文件將允許您更改設置,例如編譯器的路徑,包含路徑,C ++標准(默認為C ++ 17)等。
您可以通過運行命令C / C ++:從命令面板(Ctrl + Shift + P)編輯配置(UI)來查看C / C ++配置UI 。
這將打開“ C / C ++配置”頁面。當您在此處進行更改時,VS Code會將其寫入到文件夾中稱為c_cpp_properties.json的.vscode文件中。
僅當程序包含不在工作空間或標准庫路徑中的頭文件時,才需要修改“ 包含路徑”設置。
配置的json內容如下:
{
"configurations": [
{
"name": "Linux",
"includePath": ["${workspaceFolder}/**"],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
通過以上的設置,你就可以在Windows上使用vscode操作WSL里面的工程了.
總結
這么做好像有點脫褲子放屁.
但是可以在vscode安裝vim插件,在vscode中使用vim了啊
哈哈哈哈
注意:下面的參考鏈接就是官網的.看圖的話參考官網.