news 2026/7/12 9:36:11

VS Code 1.90 远程开发配置:Ubuntu 服务器 SSH 连接与 5 个必备插件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VS Code 1.90 远程开发配置:Ubuntu 服务器 SSH 连接与 5 个必备插件

VS Code 1.90 远程开发配置:Ubuntu 服务器 SSH 连接与 5 个必备插件

对于需要在远程 Linux 服务器上开发的程序员来说,VS Code 的远程开发功能简直是生产力神器。想象一下:你可以在 Windows 或 macOS 的舒适环境中编写代码,而实际执行和调试都在强大的 Ubuntu 服务器上进行。本文将手把手教你配置 VS Code 1.90 与 Ubuntu 服务器的 SSH 连接,并推荐 5 个能极大提升远程开发效率的插件。

1. 准备工作:SSH 密钥对配置

在开始之前,确保你的本地机器(Windows/macOS)和远程 Ubuntu 服务器都已安装 OpenSSH。以下是创建 SSH 密钥对的详细步骤:

# 在本地机器上生成 SSH 密钥对 ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

执行上述命令后,你会被提示选择密钥保存位置(默认是~/.ssh/id_rsa)和设置密码(可选但推荐)。生成成功后,你会看到两个文件:

  • id_rsa:私钥,必须妥善保管
  • id_rsa.pub:公钥,需要上传到服务器

接下来,将公钥上传到 Ubuntu 服务器:

# 将公钥复制到远程服务器(替换username和server_ip) ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip

如果ssh-copy-id不可用,可以手动操作:

# 在服务器上创建 .ssh 目录(如果不存在) ssh username@server_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh" # 追加公钥到 authorized_keys cat ~/.ssh/id_rsa.pub | ssh username@server_ip "cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

2. 优化 SSH 连接配置

为了简化连接过程并提高安全性,建议配置~/.ssh/config文件:

Host dev-server HostName your.server.ip User your_username Port 22 IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes ServerAliveInterval 60 TCPKeepAlive yes

这个配置文件做了以下优化:

  • 使用别名代替 IP 地址
  • 指定使用的密钥文件
  • 设置连接保持选项防止超时断开
  • 限制只使用指定的密钥文件

3. VS Code 远程开发环境配置

在 VS Code 中安装 "Remote - SSH" 扩展后,按F1打开命令面板,输入 "Remote-SSH: Connect to Host",选择你配置的服务器别名(如dev-server)。首次连接时,VS Code 会在服务器上安装必要的组件,这可能需要几分钟时间。

连接成功后,你会在左下角看到远程连接的指示器。此时,所有扩展和终端都将在远程服务器上运行,而界面仍然显示在你的本地机器上。

4. 5 个必备远程开发插件

4.1 Remote - SSH (Microsoft)

这是远程开发的核心插件,允许你:

  • 直接在远程文件系统上工作
  • 使用远程终端
  • 调试远程运行的应用程序
  • 在远程环境中运行扩展

提示:安装此插件后,VS Code 会自动安装配套的 Remote - SSH: Editing Configuration Files 插件,方便你编辑 SSH 配置文件。

4.2 C/C++ (Microsoft)

对于 C/C++ 开发者,这个插件提供了:

  • 智能代码补全 (IntelliSense)
  • 调试支持
  • 代码导航功能
  • 代码格式化

配置示例 (c_cpp_properties.json):

{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", "/usr/include/**" ], "defines": [], "compilerPath": "/usr/bin/gcc", "cStandard": "gnu17", "cppStandard": "gnu++14", "intelliSenseMode": "linux-gcc-x64" } ], "version": 4 }

4.3 Python (Microsoft)

Python 开发者必备,功能包括:

  • 自动补全
  • linting
  • 调试
  • 单元测试支持
  • Jupyter Notebook 集成

4.4 Docker (Microsoft)

即使你主要进行远程开发,Docker 插件仍然非常有用:

  • 管理远程服务器上的容器
  • 构建和运行 Docker 镜像
  • 查看容器日志
  • 与远程开发环境无缝集成

4.5 GitLens (GitKraken)

这个强大的 Git 扩展在远程开发中特别有用:

  • 查看代码作者信息
  • 浏览 Git 历史
  • 比较不同版本
  • 直接在编辑器中执行 Git 操作

5. 高级配置技巧

5.1 端口转发

有时你需要访问远程服务器上运行的 web 应用或其他服务。VS Code 的端口转发功能可以轻松实现:

  1. F1打开命令面板
  2. 输入 "Forward a Port"
  3. 选择要转发的端口号

转发后,你可以通过localhost:端口号访问远程服务。

5.2 多根工作区

如果你需要同时处理多个相关项目,可以设置多根工作区:

  1. 打开一个远程文件夹
  2. 通过命令面板执行 "Add Folder to Workspace"
  3. 选择另一个文件夹添加

5.3 自定义终端

在远程开发中,终端是必不可少的工具。你可以通过以下设置优化终端体验:

{ "terminal.integrated.fontFamily": "'Courier New', monospace", "terminal.integrated.fontSize": 14, "terminal.integrated.scrollback": 10000, "terminal.integrated.cursorStyle": "underline", "terminal.integrated.localEchoExcludePrograms": ["vim", "nano", "tmux"] }

6. 性能优化

远程开发可能会遇到性能问题,特别是网络连接不佳时。以下是一些优化建议:

  1. 文件排除:在设置中排除不需要的文件(如node_modules,build等)

    { "files.watcherExclude": { "**/.git/objects/**": true, "**/.git/subtree-cache/**": true, "**/node_modules/**": true, "**/build/**": true } }
  2. 禁用不必要的扩展:只在远程环境中启用真正需要的扩展

  3. 使用轻量级主题:减少图形渲染负担

  4. 调整自动保存间隔

    { "files.autoSave": "afterDelay", "files.autoSaveDelay": 5000 }

7. 常见问题解决

7.1 连接失败

如果遇到连接问题,可以尝试:

  • 检查 SSH 配置是否正确
  • 验证服务器上的 SSH 服务是否运行
  • 查看防火墙设置是否阻止了连接
  • 增加 SSH 日志级别:
    Host dev-server LogLevel DEBUG3

7.2 扩展无法正常工作

某些扩展可能需要特殊配置才能在远程环境中工作:

  • 确保扩展支持远程开发
  • 检查扩展是否已在远程环境中安装
  • 查看扩展的文档了解远程使用说明

7.3 文件同步问题

如果遇到文件不同步的情况:

  • 尝试手动刷新文件资源管理器
  • 检查文件权限设置
  • 确保没有网络连接问题

通过以上配置和优化,你将获得一个强大而高效的远程开发环境,既能享受本地开发的便利性,又能利用远程服务器的强大计算能力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/12 9:33:56

C++ JSON库nlohmann/json:现代C++数据序列化与配置管理实战

1. 项目概述:为什么C需要一个现代的JSON库? 在C项目里处理JSON数据,这事儿搁十年前可能还得自己手搓解析器,或者找些笨重的第三方库,集成起来一堆依赖,编译配置能让人头疼半天。现在情况不一样了&#xff0…

作者头像 李华
网站建设 2026/7/12 9:33:36

零基础转行AI:2个月掌握NLP自然语言处理实战指南

最近很多文科生和非计算机专业的朋友问我:"现在AI这么火,想转行但不知道从何入手?"作为过来人,我特别理解这种迷茫。其实AI领域有很多细分方向,对于零基础转行的同学来说,NLP(自然语言…

作者头像 李华
网站建设 2026/7/12 9:32:44

俄语专业听力提升:从术语积累到实战训练全解析

最近在整理俄语学习资料时,发现很多学习者面临一个共同困境:明明词汇量不错,语法也过关,但一到实际听力场景就"懵圈"。特别是涉及专业领域的内容,比如科技、经济类新闻报道,往往因为缺乏背景知识…

作者头像 李华
网站建设 2026/7/12 9:31:26

基于PIC18LF46K40与压电发声器的智能警报系统设计

1. 项目背景与核心需求在工业控制、安防系统和医疗设备等领域,可靠的声音警报系统是保障安全的关键组件。传统蜂鸣器在复杂环境(如高噪音车间、户外恶劣天气)中常面临声音穿透力不足、功耗过高或可靠性差等问题。本项目采用EPT-14A4005P压电发…

作者头像 李华
网站建设 2026/7/12 9:31:09

STM32L433RC-P控制直流电机:从PWM调速到PID闭环

1. 项目概述:STM32L433RC-P Nucleo-64开发板与直流电机控制 最近在做一个用STM32L433RC-P控制直流电机的项目,这块Nucleo-64开发板确实是个性价比很高的选择。STM32L433RC属于意法半导体的低功耗MCU系列,主打高性能与低功耗的平衡&#xff0c…

作者头像 李华