发布日期:2025-10-18 10:59浏览次数:
昨天在工位摸鱼刷论坛,突然看到有人问“能不能用VS写Linux程序?”哎我一拍大腿,这不撞我枪口上了吗!去年搞那个树莓派项目的时候,就被这问题折腾得够呛。今天干脆掏出来整整。
刚开始想得特美:装个虚拟机跑Ubuntu呗!结果?我那老款Surface直接原地爆炸,风扇呼呼跟拖拉机似的,写三行代码卡五分钟,气得我差点把键盘啃了。后来听说远程开发高大上,折腾半天SSH配置,好家伙输入密码死活连不上,蹲墙角查了三小时才发现是防火墙把端口给吞了。
有天啃煎饼刷技术文章,看到个“WSL”的词儿直拍脑门——Windows自己带的Linux系统!赶紧冲回工位:Windows键+R输入“控制面板”,翻到程序与功能里勾上“适用于Linux的Windows子系统”,再顺手点开Microsoft Store装了Ubuntu20.04。重启完电脑后打开CMD敲:
装系统跟下饺子似的哗跑,比虚拟机快多了!
装完WSL还没完,得让VS和Linux牵上线。打开VS2022直奔扩展商店,搜“远程开发组件”装上。新建工程时贼关键:选“控制台应用”千万别选错!在配置管理器里把目标系统改成Linux,下面WSL打上勾。这时候神奇的事发生了——项目属性里突然冒出个“远程生成计算机”,填上WSL里看到的用户名(cat /etc/passwd就能查),密码填自己Ubuntu账户的。
本来以为完事了,结果第一次调试就翻车。提示“找不到头文件”,懵了半小时才反应过来:我的工程居然还躺在C盘!WSL根本不认这路径。赶紧把整个项目文件夹拖到WSL的家目录里(在Windows里藏在AppData那堆乱码路径下),在VS里右键项目重新绑定路径。折腾完再按F5,看着Linux终端里蹦出“Hello World”差点泪奔。
真用起来才发现坑在细节里。有回写了个多线程程序,本地调试好好的,一到WSL就卡死。半夜蹲书房抓耳挠腮时,老婆突然探头说:“你那个小服务器(指树莓派)不就在电视柜上吃灰么?”醍醐灌顶!立马在VS调试设置里把目标改成“远程Linux计算机”,填上树莓派IP,把开发机公钥塞进树莓派的authorized_keys。断点啪地卡在真·树莓派上时,兴奋得把可乐洒键盘上了。
现在工位上常备着两台设备:左边跑VS写代码,右边开WSL终端查日志。虽然还是会被WSL偶尔抽风搞崩溃,但至少不用听着虚拟机风扇在耳边开飞机了。上周项目经理还夸:“最近写Linux程序效率挺高?”——废话,这套环境整明白之后,连加班都少了两小时!