程序员必看!VSCode Remote+cpolar让Mac和Linux无缝协作,代码随身走

程序员必看!VSCode Remote+cpolar让Mac和Linux无缝协作,代码随身走

文章目录

前言

作为全栈开发者,你是否受够了在公司MacBook和家里Windows PC间同步开发环境的痛苦?VSCode Remote-SSH插件彻底终结了这种折腾——只需一次配置,就能让本地编辑器直接访问远程服务器的文件系统和终端,无论是修改Node.js后端还是调试Python脚本,都像在本地操作般流畅。我司前端团队通过这种方式,成功实现设计师用MacBook编辑React组件,后端工程师用Linux工作站调试API,代码实时同步且环境完全一致。

最让我惊喜的是VSCode Remote的端口转发功能。上次开发微信小程序时,后端服务运行在阿里云服务器,通过Remote-SSH转发3000端口后,本地IDE直接访问localhost就能调试接口,省去了配置Nginx反向代理的麻烦。而WSL2环境下的Docker容器,更是可以通过这种方式暴露给局域网其他设备,实现"Windows编码+Linux运行"的混合开发模式。上周重构用户认证模块时,我同时在公司电脑和家里服务器上测试不同Node版本的兼容性,Remote-SSH的多窗口管理让这种并行开发效率提升至少60%。

但这种工作流存在一个致命短板:当你不在公司网络时,就无法连接内部开发服务器。上个月在客户现场支持时,需要紧急修复生产环境的bug,却因无法访问办公室GitLab而不得不从头搭建开发环境。这种"网络围墙"不仅降低了工作灵活性,更在突发情况下增加了业务风险。

cpolar内网穿透技术完美解决了这一痛点。通过在开发服务器部署cpolar,我们将SSH服务映射为公网地址,现在即使在星巴克也能通过VSCode连接公司内网的代码仓库。最关键的是,cpolar支持TCP协议穿透,配合VSCode的Remote-SSH配置,可以直接使用类似ssh -p 2233 [email protected]的命令连接,无需修改本地SSH config。上周六在家处理线上问题时,我通过这种方式10分钟内就完成了hotfix的提交和部署,客户甚至没察觉我是远程办公。

更值得一提的是cpolar的固定TCP地址功能。付费套餐提供的专属端口号让我们可以将常用服务器地址固化在VSCode配置中,避免了免费版随机端口每天变化的麻烦。现在整个团队都养成了"代码不落地"的工作习惯——所有项目文件都保存在服务器,本地只需要浏览器和VSCode两个工具,真正实现了"轻装上阵"的开发体验。

1.WSL 环境下网络诊断

没有安装wsl的家人们,可以参考这个教程哦:https://www.cpolar.com/blog/exploring-the-linux-world-a-complete-guide-to-installing-wsl-on-window

首先搜索Ubuntu,打开:

image-20250718175143634

查看你的ip地址:

ip addr 
微信图片_2025-07-08_165833_095

检查是否可以从当前机器访问目标 IP 为 172.20.54.177 的服务器上的 SSH 服务(端口 22):

telnet 172.20.54.177 22
aaca3e53b02bf311fd3cf7d31c8d6214

使用 SSH 协议,以用户名 michael 尝试连接到 IP 地址为 172.20.54.177 的服务器,并且指定使用端口 22 进行连接:

ssh [email protected] -p 22
在这里插入图片描述

如何在 Ubuntu 上启用 SSH?

sudoaptinstall openssh-server 
297b582cf27faf5a2e04bb819448538f

2.安装cpolar实现随时随地开发

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。配合 VSCode 的 Remote - SSH 插件,你可以从任何设备访问自己的完整开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

点击免费注册注册一个账号,并下载最新版本的Cpolar:

52de967930cc2da6f2648c0745348fbc

登录成功后,点击下载Cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

ca089c8af6052c9ea7d3a6c99145c40d

Cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到Cpolar web 配置界面,结下来在web 管理界面配置即可。

f7247a089a6cb102c9fcbec5d933004d

3.配置公网地址

通过配置,你可以在本地 WSL 或 Linux 系统上运行 SSH 服务,并通过 Cpolar 将其映射到公网,从而实现从任意设备远程连接开发环境的目的。

  • 隧道名称:可自定义,本例使用了:VsCode,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:172.20.54.177:22
  • 端口类型:随机临时TCP端口
  • 地区:China Vip
在这里插入图片描述

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在终端中访问即可。

  • tcp 表示使用的协议类型
  • 2.tcp.vip.cpolar.cn 是 Cpolar 提供的域名
  • 12825 是随机分配的公网端口号
4d486290e5945bc86c8e72e74ec4c6d8

通过 Cpolar 提供的公网地址和端口,使用 SSH 协议从本地 Windows 系统连接到远程的 Ubuntu WSL2 环境,并成功登录。

ssh [email protected] -p 12825
image-20250709152514252

4.VsCode 远程连接开发环境

无论你是在 Windows、macOS 还是 Linux 上工作,Remote - SSH 让你可以连接到任何支持 SSH 的系统(Linux 或 macOS),提供了一致的开发环境。通过在相同环境中开发和部署,可以减少“在我的机器上能运行”的问题。

打开 VS Code,按下 Ctrl + Shift +X(或点击左侧活动栏中的扩展图标),进入扩展市场。在搜索栏中输入关键词 “Remote - SSH”,在搜索结果中找到 “Remote - SSH” 插件,点击 Install 按钮进行安装。

image-20250709155543326

安装完成后,左侧资源管理器下方会出现一个新的远程资源管理器图标(或直接使用快捷键 Ctrl+Shift+P 输入 “Remote-SSH” 相关命令),即可开始配置并连接远程服务器。点击小加号就可以连接远程服务器。

image-20250709105126774

点击小加号后,输入框会弹出一个输入框,这个输入框用于输入 SSH 的连接命令。

ssh [email protected] -p 12825
image-20250709112733691

然后软件的右下角会出现提示信息,点击 “打开配置” 打开配置文件。

image-20250709112846876
  • Host:这是一个用户定义的别名,用于指代远程主机。
  • HostName:指定远程主机的实际地址或主机名。
  • User:指定连接到远程主机时使用的用户名。
  • Port:指定 SSH 连接使用的端口号。
image-20250709113032412

此时,你应该能在左侧资源管理器的 SSH 目标列表 中看到新增的 Ubuntu 主机项。如果未自动显示,可以点击上方的刷新按钮进行手动更新。确认出现目标主机后,点击主机名右侧的连接按钮,即可开始远程连接到该 Ubuntu 系统。

image-20250709113537751

点击连接后,选择Linux。

image-20250709114045069

然后输入远程的主机密码,按下回车。

image-20250709113938055

连接成功后,出现的字样。

image-20250709114236481

点击右下角的小三角,再点击“TERMINAL(终端)”,可以看到 Ubuntu 的终端界面,在这里可以使用命令行操作 Ubuntu。

image-20250709114534199

输入:

code .
image-20250709114711378

新弹出的页,再次输入主机密码。

image-20250709114754775

这样就可以随时随地编写代码啦。

image-20250709114835858

5.保留固定TCP公网地址

使用cpolar为其配置TCP地址,该地址为固定地址,不会随机变化。

image-20250718144234700


选择区域和描述:有一个下拉菜单,当前选择的是“China VIP”。
右侧输入框,用于填写描述信息。
保留按钮:在右侧有一个橙色的“保留”按钮,点击该按钮可以保留所选的TCP地址。
列表中显示了一条已保留的TCP地址记录。

  • 地区:显示为“China VIP”。
  • 地址:显示为“20.tcp.vip.cpolar.cn:14220”。
image-20250718145400598

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道VsCode,点击右侧的编辑

image-20250718145515243

修改隧道信息,将保留成功的TCP端口配置到隧道中。

  • 端口类型:选择固定TCP端口
  • 预留的TCP地址:填写保留成功的TCP地址

点击更新

01914c872fa537e9807e4417e239742f

创建完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的TCP地址。

05CEA515-CAB0-4f9d-AAC5-1ECDDBF23135

最后测试一下固定的地址是否好用,测试命令:

ssh [email protected] -p 14220
image-20250709152138183

这样,你可以把这个地址发给你的朋友们,这样他们就可以随时随地使用Cpolar来共享开发,即使在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。配合 VSCode 的 Remote - SSH 插件,可以从任何设备访问自己的完整开发环境。

总结

使用 VSCode 通过Remote -SSH 连接到运行在 WSL 中的 Linux 环境,就像是给你的开发工作打开了一扇通往新世界的大门。这样一来,你就可以在 Windows 的舒适环境中享受 Linux 的强大功能啦!无论是编辑代码、调试程序还是运行脚本,都能感受到流畅又高效的体验。想象一下,在熟悉的 Windows 系统中轻松切换到 Linux 环境,就像在家里的客厅和书房之间自由走动一样方便。这种无缝衔接的感觉,简直不要太棒哦!✨

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

在远程办公成为常态的今天,VSCode Remote-SSH与cpolar的组合不仅提升了开发效率,更重新定义了程序员的工作方式。当你的开发环境能够突破物理网络限制,灵感和生产力才能真正实现"无缝衔接"。

cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Read more

【前端】Vue 组件开发中的枚举值验证:从一个Type属性错误说起

【前端】Vue 组件开发中的枚举值验证:从一个Type属性错误说起

🌹欢迎来到《小5讲堂》🌹 🌹这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解。🌹 🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹 👨💻 作者简介 🏆 荣誉头衔:2024博客之星Top14 | ZEEKLOG博客专家 | 阿里云专家博主 🎤 经历:曾多次进行线下演讲,亦是 ZEEKLOG内容合伙人 以及 新星优秀导师 💡 信念:“帮助别人,成长自己!” 🚀 技术领域:深耕全栈,精通 .NET Core (C#)、Python、Java,熟悉主流数据库 🤝 欢迎交流:无论是基础概念还是进阶实战,都欢迎与我探讨! 目录 * 前言 * 解决过程 * 一、错误场景还原 * 1.1 错误发生的位置 * 1.2 常见的触发场景 * 二、深入理解 Vue

By Ne0inhk
从安装到实测:基于 Claude Code + GLM-4.7 的前端生成与评测实战

从安装到实测:基于 Claude Code + GLM-4.7 的前端生成与评测实战

目录 引言 一、命令行使用 Claude Code(安装与配置) 步骤一:安装 Claude Code(命令行) 步骤二:配置蓝耘MaaS平台 步骤三:常见排查 二、编码工具中使用 claude-code:三个端到端案例(含提示与实测评价) 案例 1:交互式个人血压记录网页 — 前端端到端生成 案例 2:Web 双人对战小游戏(Joy-Con 风格) 案例 3:前端可视化组件生成 三、补充建议(快速 checklist) 总结 引言 近一年来,代码生成类工具逐渐从“写几行示例代码”走向“完整功能交付”,但真正落到工程实践时,很多工具仍停留在 Demo 阶段:要么跑不起来,

By Ne0inhk

[特殊字符] AI印象派艺术工坊前端交互:画廊滚动与图片缩放体验优化

🎨 AI印象派艺术工坊前端交互:画廊滚动与图片缩放体验优化 1. 引言 1.1 业务场景描述 在“AI印象派艺术工坊”这一轻量级图像风格迁移Web应用中,用户上传照片后,系统基于OpenCV的计算摄影学算法,无需依赖深度学习模型即可生成素描、彩铅、油画、水彩四种艺术风格图像。整个流程高效稳定,适合边缘设备或低资源环境部署。 然而,随着功能完善,用户体验成为新的优化重点。尤其是在结果展示环节,用户需要在移动端和桌面端均能流畅浏览五张图像(原图+四类艺术图),并对细节进行查看。当前采用的静态卡片式布局在小屏设备上存在滑动不顺、缩放卡顿等问题,影响整体使用满意度。 因此,本文聚焦于画廊滚动与图片缩放体验的前端交互优化,结合现代CSS与JavaScript技术,提出一套适用于此类轻量化AI图像应用的高性能、响应式画廊解决方案。 1.2 痛点分析 现有画廊界面存在以下问题: * 横向滚动卡顿:使用基础overflow-x: scroll时,缺乏惯性滚动与平滑动画,操作生硬。 * 图片缩放体验差:移动端双指缩放常被浏览器默认行为干扰,无法精准控制。 * 响应式适配不足:不

By Ne0inhk
【数据结构】堆——超详解!!!(包含堆的实现)

【数据结构】堆——超详解!!!(包含堆的实现)

【数据结构】堆——超详解!!!(包含堆的实现) * 前言 * 一、堆是什么? * 1. 堆的定义 * 2. 堆的分类 * 3. 堆的特点 * 二、堆的实现(小堆) * 1. 用什么来实现? * 2. 实现思路 * 3. 代码实现 * (1)创建头文件&源文件 * (2)定义堆(定义) * (3)堆的初始化(初始化) * (4)堆的销毁(销毁) * (5)插入数据(入堆) * (6)删除数据(出堆) * (7)获取堆顶元素 * (8)获取堆的数据个数 * (9)检测堆是否为空 * 三、完整代码实现 * 1.

By Ne0inhk