Windows 10 Creator Update 下的VSCode 支持 WSL *了!( 2019 本文已過時 )
2019年時, 根據微軟發佈的 WSL2 和 VSCode 最新版以及 VSCode 的 WSL 插件, 此方法不夠最新的微軟官方提供的插件來得直接簡單( 但或許還有某些參考價值故保留 ).過陣子我會記錄一篇 1903 版本 Windows 10 的可用教程
*本文參考鏈接(基礎2):GitHub
*WSL是 Windows 10 下 的一項功能,全稱Window Subsystem for Linux
你要提前準備的內容(粗體重要)
- Windows 10 帶有 Creator Update(即創意者更新)
- WSL(Windows Subsystem for Linux)(即 Bash on Windows)
- VSCode 帶有 C/C++ 工具擴展(ms-vscode.cpptools)
- 閱讀 一般的 VSCode 搭載 C/C++ 編程環境的教程(*nix或Win)(基礎1)
- 閱讀 本文參考鏈接並複製+粘貼(+修改)好 launch.json 文件
*步驟5依賴於步驟4
一. launch.json 的修改
原內容
"program": “/mnt/z/Bash/kitchensink/a.out",
修改
"program": 【要生成可執行文件目錄在bash中的目錄】/${fileBasenameNoExtension}.out",
解釋:${fileBasenameNoExtension} 是說明讓VSCode獲取當前文件不帶擴展名的文件名,另外"sourceFileMap” 和 “cwd” 的目錄內容也請 按實況修改!
二. 寫一個 gcc.bat
方法是在你的可執行文件目錄裏面新建一個新建文本文檔.txt改爲gcc.bat,右鍵編輯
bash -c "gcc -g 【源代碼目錄在bash中的目錄】%1 -o 【要生成可執行文件目錄在bash中的目錄】%2"
解釋:這是爲了在VSCode裏面通過cmd調用bash調用gcc,目前我只想到這個辦法。%1指下面task.json給bat輸入的參數(源代碼和輸出文件),其實可以不在bat中寫目錄,可以讓task.json傳參數,可以自行修改。
三.改task.json
關於task.json是什麼,怎麼創建,可以在你要提前準備的內容步驟4中看到。
//這是task.json的全部內容
{
"version": "0.1.0",
"tasks": [
{
"taskName": "gcc",
"command":"【gcc.bat在win下的位置,這裏用/或\\】/gcc.bat",
"args": [
"${fileBasenameNoExtension}.c",
"${fileBasenameNoExtension}.out"
],
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
]
}
至此 VSCode 的連接 Bash 工作完成!##
可以調試了!
問題
通過這個生成的可執行文件名是什麼?
- [ 源文件去掉.c然後加上.out(如hello.out)]
[要生成可執行文件目錄在bash中的目錄]是什麼?
- [看你想把xx.out放哪裏,一般和源文件放一起就行了(如/mnt/z/Bash/kitchensink)注意c盤要寫/mnt/c,而且要區分大小寫!!!]
[源代碼目錄在bash中的目錄】是什麼?
- [你的xx.c文件的所在之處,比如我有一個helloworld程序在c:\Hello文件夾裏面,要寫爲/mnt/c/Hello]
[gcc.bat在win下的位置,這裏用/或\】是什麼?
- [建議和可執行文件放一起或者另外找一個特定目錄防止誤刪]