当前位置: 首页 > news >正文

visual studio上创建linux程序的新方法

好几年前,我想要用visual studio上调试wsl程序时,还需要填远程linux地址为本机ip+端口号,现在已经完全不用了。GPT大人告诉我这个的时候,我试了一下,由于中间很多步骤它都在猜测出错的可能的方向,排查,逐渐耗尽了耐心。今天搞定后重看了一遍聊天记录,它一个字都没说错...
真的是跟以前的那个胡编乱造的家伙不一样了。

 

先说结论:
visual studio不能编辑wsl上的项目,也无法正确识别wsl上已经存在的cmake项目。
即使能打开和编辑,也是不能写回的,这方面根本就是个残废。
 
蓝色部分是GPT的,验证无误的话.
 

更关键的一点:WSL 2 在 VS 里的官方主路,并不是“直接把源码放在 WSL 文件系统里然后像 VS Code 那样编辑”

微软对 VS 2022 的 WSL 2 工具链说明里有一句非常关键的话:
open-quoteVisual Studio 的跨平台/WSL 2 支持假设源码起始于 Windows 文件系统;当目标是 WSL 2 时,VS 会用 rsync 把源码复制到 WSL 文件系统。
也就是说,它的设计中心更像是:Windows 侧源码 + WSL 侧构建/调试,而不是你现在这种“直接在 WSL 文件系统里把整个项目当 VS 本地项目来操作”。Microsoft Learnclose-quote
同时,微软现在还明确写了:
  • WSL 2 的原生支持,官方重点是 CMake 项目;
  • 而且只对把 CMakePresets.json 作为活动配置文件的 CMake 项目提供原生 WSL 2 支持。 Microsoft Learn
这就解释了你为什么会觉得:

“VS 这方面就是残的”

至少对你想要的这条路径来说,确实没有 VS Code 那么自然。

 
 

方案 B:如果你就是想在 Visual Studio 里体验官方支持路径

那就不要再直接拿 WSL 文件系统里的现有目录 去硬开。更接近微软文档主路的做法是:
  1. 在 Windows 文件系统 新建一个 CMake Project;
  2. 打开 Tools > Options > CMake > General,优先使用 CMake Presets;
  3. 再把目标配置成 WSL / Linux-GCC-Debug 一类;
  4. 让 VS 按它自己的模型,把源码复制到 WSL 侧去构建和调试。
这才是它更像“官方 happy path”的用法。

然后是,如何正确的创建在visual studio中编译运行wsl中的程序
1.新建项目,开发平台选linux。
2.对CMakePresets.json右键,点击Add Configuration..,选linux debug
3.工具栏选ubuntu.
完结。

 
21号与GPT聊炸错在哪了?
M:
在visual studio里创建了linux空白项目,点击debug的时候出错“Could not connect to the remote system or the connection was lost.”
 
G:
调本机 WSL不用搞远程链接
(而且此时它对于how to check的指点都是对的)
 
* 你创建了 Linux 空白项目(Remote Linux)
* VS 以为你要连一台 远程服务器(SSH)
* 但你填的是 WSL → ❌ 不通
 
所以如果连接远程机器,需要connect,而本机,不需要,且linux项目本身可以在远程机器上连接执行.

key: 它推荐我用 “Open Folder” 直接打开 WSL 项目,并且让我用vs直接打开
\\wsl$\Ubuntu\home\你的用户名\cpp-test
还说VS 会自动识别为 WSL 项目且利用linux的tools编译,
还说我可以在wsl中创建合适的结构,vs打开它的时候会自动识别.
 
从这里开始应该就已经错了,后面我问它单文件是不是不行,它又告诉我加cmakefile,删掉.vs,.vscode 之类的文件夹,因为文件夹被占用我又烦躁了一会.
 
然后我问他用打开项目的方式还是打开文件夹的方式打开wsl里的文件夹,因为两个我打开后都做不到它说的"vs自动识别",
 
然后就算无法识别,我还遇到了能读不能写的情况(仅限于vs,sublime on windows就能读写linux上的文件),这事完结.
 
 
接下来就是另一个话题了,我们尝试按照它说的在vs里创建cmake on linux 平台的项目,然后还是无法编译,它漏掉了像今晚一样告诉我绿字里的2,再加上前面我们已经试了那么多错误的破事,所以接下来很快我就疯了,我觉得gpt在基于msdn的内容按照自己的理解胡编乱造.
 
 
http://www.jsqmd.com/news/683707/

相关文章:

  • 2026年3月热门的伸缩篷厂家推荐,小区车棚/景观棚/充电桩棚/电动推拉棚/膜结构/膜结构车棚,伸缩篷生产厂家哪家可靠 - 品牌推荐师
  • 别再傻傻分不清!5分钟看懂N沟道和P沟道MOS管的型号命名规律(附快速识别表)
  • 避开 Proteus 仿真 IIC 的 3 个常见坑:以 AT89C52 驱动 AT24C02 为例
  • STM32F4实战:用HAL库+FreeRTOS+FreeModbus搭建工业级从机,附完整源码和避坑指南
  • 从POI源码看CellStyle限制:为什么你的EasyExcel导出会报64000样式错误?
  • 测试时数据增强(TTA)技术解析与应用实践
  • 鸿蒙App接入“龙虾”智能体:从0到1打造下一代AI原生应用(附完整代码)
  • 好题集 (12) - LG P4119 [Ynoi2018] 未来日记
  • 别再只用Nginx了!用Squid在Windows搭建高性能HTTP缓存代理实战
  • PCIe链路训练中的“握手”艺术:LTSSM状态机在FPGA原型验证中的实现与调试心得
  • STM32项目构建进阶:手把手教你用CMake管理标准库与HAL库混合工程(基于VSCode)
  • 终极网盘直链解析指南:八大平台高速下载的完整解决方案
  • Java中的权限修饰符
  • Android Studio中文语言包终极指南:告别兼容性问题的高效解决方案
  • fast-mirror-skill 技术拆解:一个小而完整的 Claude Skill 是怎么设计的
  • NocoDB完全指南:5步打造你的可视化数据库管理平台
  • 广播厂家选型攻略|研发与售后双核心,3个高可靠品牌实测解析
  • 蓝桥杯嵌入式备赛:手把手教你移植LCD驱动到STM32G431(附完整工程文件结构解析)
  • 如何正确在 CSS 中加载 JPG 背景图片
  • 告别GPS信号!用PMW3901光流+VL53L1X激光测距,在客厅实现无人机室内悬停(Pixhawk/PX4保姆级教程)
  • 2025最权威的五大降AI率助手推荐榜单
  • 【硬件避坑】H桥一上电就“炸管”冒青烟?一文彻底讲透驱动死区(Dead Time)的生死劫
  • 深入剖析RM视觉算法:深圳大学开源方案中的装甲板识别与大小符击打核心逻辑
  • 告别网络依赖!手把手教你用PaddleOCR 3.0+uni-app打造离线身份证识别App(Android Studio配置避坑)
  • 【微软MSE亲授】.NET 11 AI推理加速黄金配置:启用NativeAOT+ML.NET 3.2+DirectML后端,实测启动时间压缩至0.8秒
  • 芯片FAE手记:当客户说‘再搞不定就换方案’,我是如何用‘望闻问切’四步法稳住局面的
  • Python实战:用NumPy手撕奇异值分解(SVD)及其在推荐系统中的应用
  • 汽车保险赔付预测的MLP模型实战与优化
  • Rust的#[derive(Copy)]中的类型轻量级
  • 【Docker农业部署黄金配置指南】:20年运维专家亲授5大避坑法则与3套即用型YAML模板