自 Windows Fall Creators Update 以來,我們可以從以下位置安裝 Linux 子系統,例如 Ubuntu:櫥窗商店在 Windows 機器上。
是否可以使用 Windows 上的 Linux 子系統中的 gcc 編譯器在 Windows 上使用 vscode for linux 建置 c 應用程式?
答案1
視覺工作室程式碼是一個跨平台 IDE,它使用tasks.json
檔案來描述如何編譯(並執行其他任務)您的專案。您可以在 Windows 或 WSL Ubuntu 子系統中執行 VSCode。如果您想在 WSL 中運行它,則必須使用 Ubuntu/Linux 二進位。
WSL 註釋
在 Windows 命令列中,你可以使用運行linux命令bash
C:\> bash.exe -c <linux command>
例如,您可以gcc
使用以下命令運行 Linux
C:\> bash -c "gcc -v"
如果您已經安裝了WSL 上的多個 Linux 系統例如,opensuse 和 ubuntu,您必須使用opensuse-42 run
或ubuntu run
來bash
確定在 windows 命令列中使用哪個 linux 子系統。
C:\> ipconfig | opensuse-42 run grep IP | ubuntu run lolcat
此外,請注意,可以使用 存取 Windows 檔案系統/mnt/<drive letter>/
。例如,如果您有一個C:\Projects
資料夾,您可以從 Linux 存取它:/mnt/C/Projects
在 Windows 中設定 VSCode 以在 WSL Linux 中使用 GCC
檢查網站上的說明。若要在 Mac 或 Linux 中使用 GCC 或 CLang 編譯器,您可以bash
根據任務使用不同的參數。
您可以配置(或建立)您自己的task.json
.您必須將 定義bash
為要使用的命令。我認為您在 Mac/Linux 上使用的配置幾乎相同。我更改了“cwd”選項。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"wsl": {
"command": "bash",
"args": ["-c"],
"isShellCommand": true,
"showOutput": "always",
"suppressTaskName": true,
"options": {
"cwd": "/mnt/C/${workspaceRoot}"
},
"tasks": [
{
"taskName": "hello",
"args": [
"make hello"
],
"isBuildCommand": true
},
{
"taskName": "clean",
"args": [
"make clean"
]
},
{
"taskName": "compile w/o makefile",
"args": [
"g++ helloworld.C -o hello"
],
"echoCommand": true
}
]
}
}
還有一些其他的重點您可以用作其他範例。
筆記:我找到了一些 MS 教程使用 WSL 和 Visual Studio 編譯和偵錯 Linux GCC 程序但不是 Visual Studio Code。