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 上相同 - 转到项目设置。