下面是一份面向你这个场景的完整教程:Windows 上使用 VSCode 远程连接 Ubuntu 服务器,在 Ubuntu 上直接打开代码、编译、运行和调试。这里我们只关注开发调试链路,Git 先不管

目标

实现下面这件事:

  • VSCode 界面在 Windows
  • 代码文件在 Ubuntu
  • 编译在 Ubuntu
  • 程序运行在 Ubuntu
  • 断点调试也在 Ubuntu

这其实就是 VSCode 的远程开发模式,最常用的是 Remote - SSH

一、你最终会得到什么

配置完成后,你的工作方式会变成:

  1. 在 Windows 打开 VSCode
  2. 通过 SSH 连到 Ubuntu
  3. 直接打开 Ubuntu 上的项目目录
  4. 在 VSCode 终端里执行 Ubuntu 的编译命令
  5. 在 VSCode 里打断点、按 F5,程序在 Ubuntu 上启动并被调试

这样最稳,因为开发环境、运行环境、调试环境完全一致。

二、前置条件

开始前先确认这些条件:

  1. Windows 已安装 VSCode
  2. Ubuntu 服务器已经能通过 SSH 登录
  3. 代码已经放在 Ubuntu 的某个目录下
  4. Ubuntu 上已经装好了你项目需要的编译器或解释器

先在 Windows PowerShell 测一下 SSH 是否正常:

ssh your_user@192.168.118.250

如果能登录 Ubuntu,说明第一步没问题。

三、在 VSCode 安装远程开发扩展

打开 VSCode 扩展商店,安装:

  • Remote - SSH

安装后,VSCode 就能把“编辑器界面”放在 Windows,把“工作目录、终端、调试器”放到 Ubuntu。

四、配置 SSH 连接

在 Windows 上编辑 SSH 配置文件:

C:\Users\Administrator\.ssh\config

写入类似内容:

Host ubuntu-dev
    HostName 192.168.118.250
    User your_user
    Port 22

如果你用密钥登录,可以再加:

    IdentityFile C:\Users\Administrator\.ssh\id_rsa

说明:

  • Host 是你给这台 Ubuntu 起的名字
  • HostName 是 Ubuntu 的 IP
  • User 是 Ubuntu 用户名

配好以后,以后直接连 ubuntu-dev 就行,不用每次敲整串地址。

五、用 VSCode 连接 Ubuntu

在 VSCode 中操作:

  1. 第一次连接时确认 SSH 指纹
  2. 输入密码,或者使用密钥登录

在这里插入图片描述

连接成功后,左下角会出现 SSH 远程标识。

这说明现在 VSCode 已经进入“远程开发模式”。

六、打开 Ubuntu 上的项目目录

连接成功后:

  1. 点击 File
  2. 选择 Open Folder
  3. 选择 Ubuntu 上的项目目录

在这里插入图片描述

例如:

/home/your_user/project

或者:

/data/project

总之,这里打开的必须是 Ubuntu 的 Linux 路径,不是 Windows 的共享目录路径。

打开后,这个工作区里的:

  • 文件浏览
  • 终端
  • 编译
  • 调试

都会发生在 Ubuntu 上。

七、确认当前环境确实是 Ubuntu

打开 VSCode 终端,执行:

pwd
whoami
uname -a

如果输出的是 Ubuntu 路径、Ubuntu 用户、Linux 内核信息,就说明环境已经切对了。
在这里插入图片描述

你还可以顺手检查编译工具:

gcc --version
g++ --version
python3 --version
gdb --version

按你的项目类型看需要哪些。

八、在 Ubuntu 上安装调试所需工具

这一步取决于你的项目语言。

如果是 C/C++,通常至少需要:

sudo apt update
sudo apt install build-essential gdb

如果是 Python,通常需要:

sudo apt update
sudo apt install python3 python3-pip

如果是 Node.js,就需要 Ubuntu 上已安装 Node。

核心原则是:程序怎么在 Ubuntu 上跑,调试环境就怎么在 Ubuntu 上准备

九、编译和调试的基本思路

在这个模式下:

  • 代码编辑在 VSCode
  • 编译命令在 Ubuntu 终端执行
  • 调试器也在 Ubuntu 上运行
  • VSCode 只是把断点和调试界面显示出来

通常我们会在项目里配置 .vscode/launch.json,让 F5 可以直接启动调试。

如果还想一键编译,可以再加 .vscode/tasks.json


Python 项目示例

如果你的项目是 Python,最简单。

在项目目录下创建 .vscode/launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug train_demo",
      "type": "debugpy",
      "request": "launch",
      "program": "${workspaceFolder}/train_demo.py",
      "cwd": "${workspaceFolder}",
      "console": "integratedTerminal",
      "justMyCode": false
    }
  ]
}

使用方法:

  1. Ctrl+Shift+P

  2. 执行 Python: Select Interpreter
    在这里插入图片描述

  3. 确认当前解释器也是 /home/linux/miniforge3/envs/pt2.6/bin/python
    在这里插入图片描述

  4. 1打开某个 .py 文件

  5. 在左侧行号处打断点

  6. 重新按 F5,这样程序会在 Ubuntu 上启动,并停在断点处。

十、日常开发怎么用

推荐你之后固定这样操作:

  1. 用 VSCode 连 Ubuntu
  2. 打开 Ubuntu 上的项目目录
  3. 在远程终端里执行编译命令
  4. 配置好 launch.json
  5. 打断点
  6. F5 进行调试

比如:

  • Python 项目:直接 F5
  • C/C++ 项目:先 cmake && make 或配置 preLaunchTask
  • Node 项目:直接 F5

十一、最短可用流程

如果你只想要最简步骤,按这个来:

  1. Windows 安装 VSCode
  2. 安装 Remote - SSH
  3. PowerShell 测试:
ssh your_user@192.168.118.250
  1. VSCode 执行 Remote-SSH: Connect to Host
  2. 打开 Ubuntu 上的项目目录
  3. 在远程终端确认:
pwd
uname -a
  1. 安装对应语言的远程调试扩展
  2. 创建 .vscode/launch.json
  3. F5 调试

十三、结论

你的这个目标,最标准的做法就是:

Windows 上开 VSCode,使用 Remote-SSH 连 Ubuntu,直接打开 Ubuntu 上的项目目录,代码、编译、运行、调试全部留在 Ubuntu。

这样环境最一致,也最不容易出奇怪问题。

更多推荐