在Windows 10 中用 Bash on Windows(WSL) 給 VSCode 搭建 編譯調試 C/C++ 環境 (本文已過時)

Windows 10 Creator Update 下的VSCode 支持 WSL *了!( 2019 本文已過時 )


2019年時, 根據微軟發佈的 WSL2 和 VSCode 最新版以及 VSCode 的 WSL 插件, 此方法不夠最新的微軟官方提供的插件來得直接簡單( 但或許還有某些參考價值故保留 ).過陣子我會記錄一篇 1903 版本 Windows 10 的可用教程
Degbug!

*本文參考鏈接(基礎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下的位置,這裏用/或\】是什麼?

  • [建議和可執行文件放一起或者另外找一個特定目錄防止誤刪]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章