vscode
自我操作笔记(个性化)
outline:大纲,在视图窗口中,列举函数列表 timeline:git上库日志 解决程序无法输入:打开文件 -> 首选项 -> 设置,在上方的搜索框里输入run in terminal,勾选此项设置
显示空格和tab键: 打开setting,在搜索框中输入render Control Characters,选中勾选框,即可显示tab. 在搜索框中输入render Whitespace,选择all,即可显示空格.
tab键改空格:勾选editor.insert Spaces和editor.tab Size设置tab键多少个空格 默认根据文件内容自动检测缩进方式,如果需求是使用用户设置的缩进方式:editor.detectIndentation取消勾选
主题:ctrl+shift+p搜索颜色主题,选择Dark(Visual Studio)(推荐)
快捷键: 重启窗口:Ctrl+Shift+P,输入Reload Window 查找文件:Ctrl+P
1、sublime工具缺点
编译运行c或c++需要单独搭建环境,比较麻烦,并且不支持程序输入,中文乱码,代码追踪不完善等问题。 结论:不建议使用sublime或者notepad++等工具编写工程项目。 单个文件查看和修改可以推荐。
目前程序员必备的推荐vscode和sourceinsight工具。
vscode还有一个强大的优点:可以打开巨大的文本文件。
2、Visual Studio Code(VS Code) User版和System版区别
安装包下载地址:https://code.visualstudio.com/Download 内测版本:https://code.visualstudio.com/insiders/
它们之间的主要区别在于安装方式、权限和适用场景。 User版本无法在系统分区(盘) 创建默认文件夹Microsoft VS Code,可见权限不足,解决方案是提前在该目录自建文件夹命名。对于System版无此问题,可next step到底。 User 版通常安装在用户的主目录下,%USERPROFILE%\AppData\Local\Programs\Microsoft VS Code,用户可以在没有管理员权限的情况下安装和使用。 System 版通常安装在系统的公共目录中,C:\Program Files\Microsoft VS Code,需要管理员权限进行安装和更新。
现在最新版本版本不再区分,默认下载User版本。
3、Visual Studio Code(VS Code) insider版和stable版区别
前者是内测版,一般每个工作日都会有更新,后者是正式版。
4、软件下载
百度一下 编译器下载:https://sourceforge.net/projects/mingw-w64/files/
5、搭建c++编译环境
https://www.zhihu.com/question/30315894
精简版的:装gcc和c/c++扩展,打开文件夹,点开源代码,F1,build and debug active file,完。
VSC只是一个纯文本编辑器(editor),不是IDE(集成开发环境),不含编译器(compiler)和许多其它功能,所以编译器要自己装好。
添加bin环境变量,cmd输gcc -v可以显示出gcc的版本。
6、搭建python运行环境
python.exe路径添加 run code插件直接运行
安装扩展(extension)
- C/C++:又名 cpptools,提供Debug和Format功能
- Code Runner:右键即可编译运行单文件,很方便;但无法Debug
其他可选扩展:
- Bracket Pair Colorizer 2:彩虹花括号
- One Dark Pro:大概是VS Code安装量最高的主题
不建议/不需要装的扩展:
- GBKtoUTF8:把GBK编码的文档转换成UTF8编码的。此扩展很久没有更新了,也有严重的bug
- C++ Intellisense:用的是gtags,效果不咋样
- Include Autocomplete:提供头文件名字的补全,现在cpptools和vscode-clangd都已经自带这个功能了
- C/C++ Snippets:Snippets即重用代码块,效果自己百度;这个扩展安装量虽高,不过个人感觉用处实在不大,cpptools和clangd也自带一些;你也可以选择其他的Snippets扩展甚至自定义
补充知识
- 编译器是把源代码变成可执行文件的,编辑器是你打字的软件。记事本就是一个编辑器,VSC也是编辑器。编辑器是无法编译运行程序的,因为那是编译器的工作
- MinGW是gcc在Windows下的移植,gcc是世界上最流行的C/C++编译器组合。但gcc这个名字也指编译C语言的那个程序,g++才是C++编译器。即gcc程序和g++程序包含在gcc套件以及MinGW里,当只说gcc时要根据语境自己区分
- 其实MinGW和MinGW-w64只是名字像,它们是两个不同的项目。为了方便,本文中的MinGW指的其实都是MinGW-w64。MinGW还活着,但只能产生32位程序
- 现在MinGW-w64很久没有发布官方构建了,代码其实已经更新到了9.2.0,所以也可以考虑用基于它的TDM-GCC64。别下旧版,那是很久以前的,2020年发布了新版
- 扩展是extension,插件是plugin,VSC用的是前者这种称呼。大部分文章都是混用两者的,不严谨但是能理解就行,要学会抓主要矛盾。当然本文用的都是正确的
- 可选阅读:[科普][FAQ]MinGW vs MinGW-W64及其它
快捷键
这里主要介绍下最主要的快捷键:
Ctrl+鼠标左键,是文件、函数等跳转。Alt + ←,是跳转后返回原处。Ctrl + Shift + O,列出函数名Ctrl + P,列出近期打开的文件名Ctrl + Tab, 可以列出最近打开的文件,在开发时,两个文件间切换时效率很高。
上述是最常用的功能。其他功能请参考VSCode 官网快捷键
6、插件离线安装
教程一(需要版本匹配):将C:\Users\Administrator.vscode\extensions下面的文件夹拷贝到环境中,重启两次vscode即可。
教程二:https://www.jianshu.com/p/17bcf79f1c85
教程三(插件网搜索下载vsix插件):https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh 在右边Resources-》Downloads Extension即可。 另外搜索的时候需要注意分类,我在下载drawio时一直没有找到网上说的插件,原来是分类限制了。
- Draw.io Integration
- Chinese Language Pack for Visual Studio Code
- PlantUML
- Remote - SSH
- Markdown All in One
vscode-server安装是同样的方法,一个可以直接在vscode-app上面,一个可以直接在本地vscode通过ssh连接后Install from VSIX。
https://github.com/microsoft/vscode-cpptools
7、输出窗口中文乱码
由于没有配置g++环境变量,导致报错'g++' 不是内部或外部命令,也不是可运行的程序或批处理文件。
在输出窗口除了g++能清晰看见,其余全是乱码。
可以添加"code-runner.runInTerminal": true,让程序运行在终端窗口就不会有乱码问题。
https://amahv.github.io/2020/06/24/vscode-shu-chu-chuang-kou-zhong-wen-luan-ma/#! 这个是对于python代码,不清楚有没有效果,待测试。
8、设置默认的终端
- 打开左下角设置
- 找到 Terminal › Integrated › Shell: Windows 设置项
{
"window.zoomLevel": 2,
"workbench.colorTheme": "Monokai",
"terminal.integrated.automationShell.windows": "",
"code-runner.runInTerminal": true,
"terminal.integrated.shell.windows": "C:\\Windows\\system32\\cmd.exe"
}注意:不是automation shell。
快捷键:ctrl+~
9、解决vscode上编辑gb2312编码的源码导致乱码的问题
痛点1:默认情况下vscode是用utf-8打开文件,因此我们打开一个gb2312编码的文件会是乱码的,必须手动调整用gb2312编码打开。 痛点2:在默认用utf-8编码打开的情况下,改了一行gb2312编码格式的源文件,一保存,整个文件都乱码了,一旦提交之后,再恢复就会很麻烦。 痛点3:通常又不能随便批量的该文件编码(不方便看上次修改记录,不方便Review…)
解决方式:打开设置 -> 搜索“Auto Guess Encoding” -> 勾选。User,Remote,Workspace 都勾选上该选项。
10、使用vscode搭建你的远程linux开发环境
10-1、远程linux服务器的版本要求
kernel >= 3.10 uname -r glibc >= 2.17 strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC libstdc++ >= 3.4.18 dpkg -l | grep libstdc++
通过VS Code官方支持的SSH Remote插件,我们可以直接进行远程开发,不需要进行各种麻烦的代码同步。
10-2、安装最最最最重要的一个插件:Remote-SSH
插件搜索安装:Remote-SSH 在线安装:打开VSCode,按快捷键 Ctrl+Shift+X进入扩展商店,搜索Remote - SSH, 点击install 离线安装: C:\Users\Administrator.vscode\extensions\ms-vscode-remote.remote-ssh-0.66.0 拷贝到另外一个环境C:\Users\User.vscode\extensions中即可。
注意版本的一致性,只要相差不大就行,如果一个是user版本一个是system版本就可能有问题,会出现安装成功,但是无法使用问题。
结果下载的vsix插件报错不匹配安装,下载了稍早的历史版本也不行(找不到更早的了),无奈试试更新vscode试试,然后就成功了。 https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-vscode-remote/vsextensions/remote-ssh/0.107.2023102615/vspackage 如果要其他版本的话,可以把中间的版本号(0.107.2023102615)替换掉就行了,亲测有效。
Open-SSH平替插件 注意:Arm架构,Centos系统编译容器,由于GCC版本过低,缺少依赖,无法使用VScode客户端,只能使用VScode-Web端。
10-3、配置远程连接
- 左侧导航栏电脑图标(新版本的vscode还变样了,不再是电脑图标,显示在左下角,勾选Connect to Host)
- 放在SSH TARGETS上面,点击齿轮设置
- 选择C:\Users\User.ssh\config配置
- 第一行显示名称、第二行服务器ip地址、第三行登录账户,可以填写多个服务器
- 点击打开窗口会显示Setting up SSH Host my_linux_vm: (details) Initializing VS Code Server
- 由于未连接外网,所以肯定是无法正常连接的。
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host my_linux_vm
HostName 172.22.65.15
User root
# 我的编译环境,使用root账户登录
Host linux_x86_compile
HostName 172.22.48.65
User root保存之后,左侧的远程资源管理面板中会显示刚刚添加的远程服务器。同样鼠标悬停在上面,右侧会显示一个文件夹图标,我们点击文件夹,会新开一个窗口并尝试连接该远程服务器。然后输入密码,会提示出错,因为我们的编译环境同样也无法连接外网,因此,vscode无法安装必须的远程代理。
10-4、离线安装远程vscode-server代理
- 进入远程服务器, 执行 ps aux | grep vscode,结果没有找到commit字符串,然后直接在windows的vscode的帮助-》关于中获取
- 目录/root/.vscode-server/bin/下面有个文件夹名是commit,即~/.vscode-server/bin/
- 稳定版:https://update.code.visualstudio.com/commit:c3f126316369cd610563c75b1b1725e0679adfb3/server-linux-x64/stable
- insider版:https://update.code.visualstudio.com/commit:c3f126316369cd610563c75b1b1725e0679adfb3/server-linux-x64/insider
- 下载成功后上传到远程服务器。复制到 ~/.vscode-server/bin/【commit号】,通过使用tar -xvf vscode-server-linux-x64.tar.gz --strip-components 1解压文件
- 使用chmod +x node server.sh为node和server.sh添加可执行权限
- 重新打开vscode。
最新版本教程:https://blog.csdn.net/weixin_63866037/article/details/145781207https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode-server-linux-x64.tar.gzhttps://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode_cli_alpine_x64_cli.tar.gz
.vscode-server
┣━ bin # 存放旧方法下的vscode commit相关文件
┃ ┗━ ${commit_id1}
┣━ cli # 存放新方法下的vscode commit相关文件
┃ ┗━ servers
┃ ┃ ┗━ Stable-${commit_id}
┃ ┃ ┃ ┗━ server
┃ ┃ ┃ ┗━ ···
┃ ┃ ┗━ ···
┃ ┗━ iru.json # 存放最近的vscode commit_id,内容为["Stable-$commit_id"]
┣━ code-${commit_id} # 存放vscode_cli_alpine_x64_cli.tar.gz解压后的code-${commit_id}
┣━ data # 可有可无
┗━ extensions # 可有可无
mv vscode-server-linux-x64 server
mv server ~/.vscode-server/cli/servers/Stable-0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/
mv code ~/.vscode-server/code-0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2
iru.json文件内容 Stable-0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b210-5、崩溃服务器系统版本过低无法使用最新版本vscode
CentOS-7系统,安装高版本的vscode-server后无法连接,在服务器上面执行node命令,发现libstdc++库版本过老导致:
bash-4.2# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
bash-4.2# cd /root/.vscode-server/bin/fee1edb8d6d72a0ddff41e5f71a671c23ed924b9/
bash-4.2# ./node
./node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by ./node)
./node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./node)
./node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./node)
./node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./node)
./node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by ./node)
./node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by ./node)
ash-4.2# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
Copyright © 2015 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。算了,使用web访问方式也是挺不错滴!!!
11、visual studio code 重置所有设置(还原默认设置)
a.打开如下目录:C:\Users\pcName\AppData\Roaming\Code\User( 注意替换pcName为自己电脑设置的名称) b.用记事本打开目录下的settings.json,修改里面的对应配置可以解决对应的问题,重置的话全部删除就好了
12、关于个性化配置
文件位置:C:\Users\User\AppData\Roaming\Code\User\settings.json
{
"workbench.startupEditor": "newUntitledFile",
"workbench.iconTheme": "vscode-icons",
"breadcrumbs.enabled": false,
"editor.multiCursorModifier": "alt",
"editor.renderWhitespace": "none",
"editor.renderControlCharacters": false,
"vsicons.dontShowNewVersionMessage": true,
"files.autoSave": "afterDelay",
"editor.tabSize": 2,
"files.associations": {
"*.vue": "vue"
},
"eslint.autoFixOnSave": true,
"eslint.options": {
"extensions": [
".js",
".vue"
]
},
"eslint.validate": [
"javascript", {
"language": "vue",
"autoFix": true
}, "html", "vue"
],
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/dist": true
},
"emmet.syntaxProfiles": {
"javascript": "jsx",
"vue": "html",
"vue-html": "html"
},
"git.confirmSync": false,
"window.zoomLevel": 0,
"editor.cursorBlinking": "smooth",
"editor.minimap.enabled": true,
"editor.minimap.renderCharacters": false,
"window.title": "${dirty}${activeEditorMedium}${separator}${rootName}",
"editor.codeLens": true,
"editor.snippetSuggestions": "top",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"diffEditor.ignoreTrimWhitespace": false,
"liveServer.settings.donotShowInfoMsg": true
}
{
"editor.fontSize": 13,
"editor.minimap.maxColumn": 40,
"editor.wordSeparators": "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?·~!¥…()—【】、;:‘’“”,。《》? ",
"editor.fontFamily": "'Source Code Pro', Consolas, 'Courier New', monospace",
"editor.suggest.localityBonus": true,
"window.title": "${dirty}${activeEditorLong}${separator}${rootName}${separator}${appName}",
"window.zoomLevel": 1,
"window.titleBarStyle": "custom",
"workbench.iconTheme": "material-icon-theme",
"workbench.colorTheme": "Solarized Light",
"workbench.sideBar.location": "right",
//"git.path": "D:\\Program Files\\Git\\cmd\\git.exe",
"git.path": "/usr/bin/git",
"git.autofetch": true,
"git.ignoreMissingGitWarning": true,
"git-assistant.checkConfigVariables": "disabled",
"git-assistant.pushBeforeClosingIDE": "disabled",
"diffEditor.ignoreTrimWhitespace": false,
//"terminal.integrated.shell.windows": "C:\\windows\\System32\\cmd.exe",
"http.proxy": "http://公司代理地址IP:端口/",
"http.proxyStrictSSL": false,
"files.trimTrailingWhitespace": true,
"files.autoGuessEncoding": true,
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true
},
"C_Cpp.updateChannel": "Insiders",
"C_Cpp.default.intelliSenseMode": "gcc-x64",
"C_Cpp.default.includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceFolder}/**"
],
"terminal.integrated.fontFamily": "Hack Nerd Font",
"terminal.integrated.fontSize": 14,
}13、将Vscode添加右键打开文件夹功能
参考:https://blog.csdn.net/Trees__/article/details/123390459
计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\VisualCode\command "C:\Program Files\Microsoft VS Code\Code.exe" "%V"
14、显示git上库记录
Vscode-gitlens 隐藏每行代码的git历史记录
默认情况下,gitlens插件会显示每行代码的blame历史记录,如果为了保持界面的简洁,可以修改以下配置进行隐藏
"gitlens.currentLine.enabled": false下载安装gitlens插件:https://marketplace.visualstudio.com/vscode
- 搜索gitlens
- 选择评价高的
- 右边Resources-》点击Download Extension
- 点击VSCode中的插件管理-》右上角Install from VSIX即可
- 安装失败,不兼容,需要下载一个老版本
- https://marketplace.visualstudio.com/items/eamodio.gitlens/changelog
- 找到github项目主页,右边Release即可https://github.com/gitkraken/vscode-gitlens
- 找到老版本即可,结果github打不开,无奈使用文件夹安装方式
- 安装成功之后,vscode 左侧边栏便会出现 gitlens 小图标。如果没有出现,则使用快捷键 ctrl + shift + p,输入命令 GitLens set,点击 GitLens: Set Views Layout 即可
15、VScode对多行编辑有两种模式
第一种模式 Alt+Shift 竖列选择
这种模式下只可以选择竖列,不可以随意插入光标。所以只限制于同一列且不间隔的情况下。
第二种模式 Shift+Ctrl 竖列选择 Ctrl+光标点击 选择多个编辑位点
这种模式下不仅可以选择竖列,同时还可以在多个地方插入光标。
两种模式的切换 使用Shift+Ctrl+p快捷键调用查询输入栏,输入“cursor”,列表中会出现“切换多行修改键”这个选项。选择这个选项就可以在两种模式下切换。
16、vscode-server实现代码跳转
已安装cpptools和C/C++ Extension Pack插件但是无法实现代码跳转,但是同事的环境正常跳转,代码无法跳转很痛苦,并且代码高亮功能也失效。
- 尝试过更换vscode版本(版本号、system->user)
- 各种百度、google
- 其他插件禁用以及更换插件版本
最终在一台全新物理机上面安装vscode后发现代码跳转正常,并且代码高亮正常。发现vscode-server上面已安装的好多插件都生效了,如git。发现代码跳转是一个叫做IntelliSense失效的,翻译过来叫做代码分析,在vscode的下方呈{}形式。
cpptools跳转插件:https://github.com/microsoft/vscode-cpptools/releases
最终解决方案:通过物理机对比发现可能是配置文件C:\Users\User\AppData\Roaming\Code\User\settings.json不同导致,修改完后依然存在问题,后面猜测可能是本地安装的插件冲突导致vscode-server中的众多插件失效,然后果断删除本地插件安装包C:\Users\User.vscode\extensions,因为之前折腾过其他版本vscode的插件。插件删除后代码跳转功能正常。
更换平替插件:https://blog.csdn.net/WhereYouSink/article/details/128253034,虽然没试,估计也不行。
Unable to write file '/root/.openvscode-server/extensions/extensions.json' (Unknown (FileSystemError): Error: EROFS: read-only file system, open '/root/.openvscode-server/extensions/extensions.json')原因是docker环境/root/.openvscode-server/extensions/文件夹卷的挂载模式是只读 ro,如果要改成可读写 rw,只能通过停止删除重新创建。但是可以直接在主机(host)上修改文件,从而影响容器内的文件。这是 Docker 的一个重要特性,允许你在主机和容器之间共享数据。
解决方式: 最好的方式Linux能直接安装vsix插件,我是直接从其他docker环境拷贝了一个ms-vscode.cpptools-1.24.1文件夹过来替换即可,不需要修改extensions.json文件。 之前的docker环境也安装了ms-vscode.cpptools-1.14.5,vscode为1.76.0版本,可能是兼容性问题导致代码无法跳转(有报错C/C++ IntelliSense, debugging, and code browsing.),更换成ms-vscode.cpptools-1.24.1版本后就能正常跳转了。
至于go语言的代码跳转,并没有提供vsix插件,但是可以自己开发,未测试https://blog.51cto.com/u_16175524/10263315 可以使用在线的go语言服务器实现跳转:https://www.cnblogs.com/o0olele/p/13408963.htmlhttps://blog.51cto.com/u_16175439/12646219
17、vscode ssh一直反复需要输入密码且最后显示连接失败
问题原因是服务器上面有一个加锁的文件,即vscode-server压缩包自动下载了,但是并没有安装配置,需要手动安装配置后方可连接正常。
插件安装位置:/root/.vscode-server/extensions 另一个插件位置:/root/.vscode-server/bin/92da9481c0904c6adfe372c12da3b7748d74bdcb/extensions 软件位置:/root/.vscode-server/bin/92da9481c0904c6adfe372c12da3b7748d74bdcb/bin/code-server
18、vscode操作markdown文件
插件:Markdown All in One 快捷键:Ctrl + K,V(先同时按Ctrl键和k键,然后单独按v键)
19、vscode操作PlantUML
插件:PlantUML 命令面板选择 “Preview Current Diagram” 或者使用快捷键 Alt + D(Windows/Linux)或 Option + D(macOS)来预览 UML 图。
导出图片:
- 按 Ctrl + Shift + P(Windows/Linux)或 Cmd + Shift + P(macOS)打开命令面板。
- 输入并选择 PlantUML: Export Current Diagram。
- 然后选择导出格式为 PNG。
20、vscode显示好多错误提示,但是代码运行是正常的
即使代码能编译,IntelliSense 可能因未正确包含头文件或声明而导致误报。 IntelliSense 的缓存可能过期,导致解析结果不准确。
清除缓存: 删除 .vscode/cache 文件夹(通常位于项目根目录下)。 重启 VSCode 或重新加载窗口(Ctrl+Shift+P → Developer: Reload Window)。
21、标签栏多行显示
1、按住 ctrl + shift + p 2、输入 open workspace settings,选择打开工作区设置 3、输入workbench.editor.wrapTabs,勾选该设置项即可
22、web-vscode关闭窗口快捷键
F11键进入全屏后,vscode的快捷键就不会和浏览器出现冲突了。
23、高版本无法支持win7
win7支持的最高版本是1.70 低版本下载:https://code.visualstudio.com/updates/v1_70(修改后面的版本号即可)
24、C/C++插件支持代码跳转
C/C++ Extension Pack插件介绍:包含4个组件,是一个集合,其中就包含C/C++。
demo见:D:\Github\Storage\c++\IntelliSense
安装后无法跳转
比如通过挂载方式挂载到本地进行打开代码,可能由于权限不足导致索引没有完全建立。服务器上的代码位于网络挂载目录(/mnt/code/... 通常是 NFS/SMB 挂载),C/C++ 插件的符号索引(Tag Parser)在远程文件系统上无法正常工作。
解决方式:使用Remote-SSH远程连接打开代码
配置c_cpp_properties.json
"includePath": [
"${workspaceFolder}/**",
"/path/to/your/external/include",
"/another/custom/include/path"
],发现网上好多说的以及软件自身说的使用"${workspaceFolder}/**"结果根本行不通,最终我花费了一天时间终于解决,需要在末尾添加斜杠解决即:
"${workspaceFolder}/**/"直接导入include肯定行的通,这种方式主要解决头文件跳转,默认变量跳转不需要设置,直接支持,这样修改是头文件也能跳转。
查看日志:
Ctrl+Shift+P → C/C++: Log Diagnostics
Ctrl+Shift+P → C/C++: Reset IntelliSense Database