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

Visual Studio中Linux开发头文件intellisense问题的解决办法

文章目录

  • 前言
    • 个人环境
  • SSH到WSL
  • 复制文件
  • 后记

前言

最近在用我心爱的Visual Studio配合WSL2做一些Linux开发,但是有一个问题,就是当我#include <sys/socket.h>,会提示找不到文件
在这里插入图片描述
我尝试了各种姿势,包括修改CMakeSettings.json下的remoteCopyAdditionalIncludeDirectories条目、SSH到WSL然后拉取远程标头,都没有卵用,这期间我在MSDN官方文档、各种简中博客、StackOverflow上各种搜寻均未果,人都要崩溃了,最后我终于找到一条不那么优雅的方式解决问题,那就是直接复制。

个人环境

Visual Studio 2022 preview
WSL2

SSH到WSL

这一步是为了拉取WSL上的include,理论上来讲直接跳过这一步,宿主机访问WSL的include目录手动复制也是可以的,这里展示一下SSH的方式。首先我们在WSL上开启SSH功能

sudo apt install openssh-server
sudo vim /etc/ssh/sshd_config # 编辑

加入两行:

Port 22
PasswordAuthentication yes

然后重启SSH服务

sudo service ssh --full-restart

然后ipconfig查看wsl的IP,inet就是主机名
在这里插入图片描述
在VS的工具 > 选项 > 跨平台里点添加,SSH连接
在这里插入图片描述

然后在远程标头intellisense管理器里选中刚刚的连接,点击下载。
在这里插入图片描述

复制文件

然后点浏览,把x86_64-linux-gnu复制到VS的linux的include目录里,路径如图,对应我的路径做修改就行了
在这里插入图片描述
在这里插入图片描述
然后复制这个gnu文件夹下的所有文件,复制到这个地方,重复的我直接跳过
在这里插入图片描述
在这里插入图片描述
然后回到VS,项目 > 重新扫描解决方案
在这里插入图片描述
然后就可以看到头文件成功intellisense了,感恩!
在这里插入图片描述

后记

这次算是把我折腾惨了,全网基本只有VSCode的讨论,VS的讨论寥寥无几,一搜还很容易搜到VSCode。。文中的这种解决方案显然是很不优雅的,理论上来讲VS是提供了远程拉取标头用于intellisense的,比如改Cmakesettings之类的,不知道为什么我就是用不了。。。合理怀疑是BUG,如果有更好的方法欢迎给我留言。

http://www.lryc.cn/news/143764.html

相关文章:

  • 如何以CPU方式启动Stable Diffusion WebUI?
  • HTTP 框架修炼之道 | 青训营
  • 【活动】怎么维护电脑?
  • Linux安装Docker
  • 极氪汽车的云资源治理细探
  • 设计模式之抽象工厂
  • 问道管理:数字经济概念走势强劲,竞业达、久其软件等涨停,观想科技等大涨
  • 14-redis
  • MySQL——基础——子查询
  • 业务系统架构实践总结
  • Linux学习之DNS服务的原理
  • 《Linux内核源码分析》(3)调度器及CFS调度器
  • Docker:如何删除已存在的镜像
  • Qt——Qt 开发中所涉及的所有控件(基本控件、容器控件、布局控件、高级控件、其他控件、多媒体控件、定制控件)
  • 基于Ubuntu坏境下的Suricata坏境搭建
  • vue3权限管理——(路由权限)动态路由设置
  • 小程序开发之登录授权
  • 批量根据excel数据绘制折线图
  • 无锁并发:探秘CAS机制的魔力
  • iOS App签名与重签名:从开发者证书到重新安装运行
  • vue项目,如何修改Element-Plus等UI组件库的样式,三种方式搞定!!!
  • httpd协议与apache
  • Go 自学:文件的写入和读取
  • py 项目上线centos
  • 【git】would clobber existing tag 报错解决
  • Python OCR 使用easyocr库将图片中的文章提取出来
  • 门禁系统忘记登入密码,现在更换电脑如何迁移旧电脑门禁系统的数据
  • 初试Eureka注册中心
  • 【趣味随笔】怎么维护自己的电脑?
  • element 下拉组件获取对象