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 的端口转发功能可以轻松实现:
- 按
F1打开命令面板 - 输入 "Forward a Port"
- 选择要转发的端口号
转发后,你可以通过localhost:端口号访问远程服务。
5.2 多根工作区
如果你需要同时处理多个相关项目,可以设置多根工作区:
- 打开一个远程文件夹
- 通过命令面板执行 "Add Folder to Workspace"
- 选择另一个文件夹添加
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. 性能优化
远程开发可能会遇到性能问题,特别是网络连接不佳时。以下是一些优化建议:
文件排除:在设置中排除不需要的文件(如
node_modules,build等){ "files.watcherExclude": { "**/.git/objects/**": true, "**/.git/subtree-cache/**": true, "**/node_modules/**": true, "**/build/**": true } }禁用不必要的扩展:只在远程环境中启用真正需要的扩展
使用轻量级主题:减少图形渲染负担
调整自动保存间隔:
{ "files.autoSave": "afterDelay", "files.autoSaveDelay": 5000 }
7. 常见问题解决
7.1 连接失败
如果遇到连接问题,可以尝试:
- 检查 SSH 配置是否正确
- 验证服务器上的 SSH 服务是否运行
- 查看防火墙设置是否阻止了连接
- 增加 SSH 日志级别:
Host dev-server LogLevel DEBUG3
7.2 扩展无法正常工作
某些扩展可能需要特殊配置才能在远程环境中工作:
- 确保扩展支持远程开发
- 检查扩展是否已在远程环境中安装
- 查看扩展的文档了解远程使用说明
7.3 文件同步问题
如果遇到文件不同步的情况:
- 尝试手动刷新文件资源管理器
- 检查文件权限设置
- 确保没有网络连接问题
通过以上配置和优化,你将获得一个强大而高效的远程开发环境,既能享受本地开发的便利性,又能利用远程服务器的强大计算能力。
