Visual Studio/Linux 開發
外觀
Visual Studio 的最新版本包含跨平臺支援,尤其針對 Android、iOS 和現在的 Linux。由於 Linux 應用程式無法(顯然)在 Windows 上原生執行,因此您可以:
- 使用另一臺 Linux 計算機
- 使用 適用於 Linux 的 Windows 子系統
在本指南中,我們將使用後一種方法,因為它更“原生”,但希望使用前一種方法的人也可以使用本指南。
Visual Studio 2019 可以原生檢測 WSL 的存在。這意味著您仍然需要安裝 WSL,但可能不需要執行所有其他步驟。 |
您需要:
- Windows 10(僅限 64 位)
- Visual Studio 2017 或更高版本
- 如果您還沒有,請從 Visual Studio 安裝程式中安裝 Linux 開發工作負載。
- 安裝適用於 Linux 的 Windows 子系統工具,並從 Windows 商店下載您選擇的 Linux 版本 以下是一個示例指南。設定 Linux 配置。
- 在 Linux bash 中執行以下命令:
$ sudo apt update $ sudo apt install -y build-essential $ sudo apt install -y gdbserver $ sudo apt install -y openssh-server
- 使用程式碼編輯器開啟
/etc/ssh/sshd_config;例如,sudo nano /etc/ssh/sshd_config。查詢PasswordAuthentication並將其設定為 yes。 - 啟動 SSH 服務
$ sudo ssh-keygen -A $ sudo service ssh start
- 開啟 Visual Studio 並建立/匯入 Linux 專案
- 開啟跨平臺管理器,然後單擊新增。將主機名輸入為 localhost,埠號輸入為 22,然後輸入您的 UNIX 使用者名稱(不是 Windows!)和密碼。如果您沒有使用適用於 Linux 的 Windows 子系統,請輸入您將使用的 Linux 計算機的主機名,而不是 localhost。如果一切順利,您會看到一條訊息,說明 IntelliSense 正在配置庫。
您需要在 WSFL 上安裝 Linux 編譯器!根據需要使用適當的 apt-get 命令來安裝它們(例如:sudo apt-get g++)。否則,您在嘗試執行時(或在單擊上一步中的新增後)會收到錯誤訊息。
- 確保目標設定正確,然後像往常一樣進行除錯。您將在 Visual Studio 底部的 Linux 控制檯視窗中看到輸出(不在 bash shell 或命令提示符中)。
如果您看不到任何輸出,請確保您的程式至少有一個等待狀態。這是因為當程式停止除錯時,Linux 控制檯視窗會消失,其內容也會被清除(它與透過 VS 除錯普通 Windows 程式的效果相同,如果您沒有將其配置為不立即關閉)。
如果您使用 C 語言程式設計,請確保將副檔名設定為 .c,以便 IntelliSense 能夠正常工作。即使這樣,您也可能會收到錯誤訊息,提示無法找到 stdio.h 等常見的標頭檔案;這是一個 bug,程式仍然可以編譯。 |
您可以像除錯普通 Windows 程式一樣使用它。主要區別是 CPU 跟蹤等功能受到限制,這是因為應用程式實際上是在其他地方(在 Linux 子系統上)執行。您可以像往常一樣輕鬆設定斷點、監視、區域性變數和自動變數。當(如果)發生段錯誤時,Visual Studio 會停止程式並顯示可能發生錯誤的最接近位置(就像使用 gdb 並啟用除錯符號一樣)。
通常可以自定義除錯設定。方法與在 Windows 上相同 - 轉到專案設定。