Visual Studio Code 的 includePath 全局设置
这几天折腾使用Visual Studio Code 编写 ESP8266 non_os 代码,基本设置都没问题,但是就是自动补全折腾很久没弄好。在折腾了一圈插件之后(包括Auto Import, C++ Intellisense, CTags Support, scope4code, c/c++ Clang Command Adapter,platformIO IDE),还是没法实现结构体及其成员的自动完成。
折腾了一晚上,第二天继续折腾,最后发现其实ms官方的 ms-vscode.cpptools 已经很好用了。自动补全和跳转定义都没问题,所以暂时把其它的插件全部禁用。
自动补全的关键是 includePath 的设置,默认的情况下includePath 在 c_cpp_properties.json 中设置,但是只针对当前工作区有效,网上的文章都只讨论 c_cpp_properties.json 的设置,其实Visual Studio Code官方从2017年12月29日开始就已经引入了全局设置的参数 Customizing Default Settings,当和 c_cpp_properties.json 冲突时,以全局的设置为准。
首选项-设置,从设置页面找到链接打开setting.json,添加如下内容 (本例适用于机智云官方的 ESP8266 SoC 代码,其他项目请自行修改路径):
//如下内容适用于机智云官方的 ESP8266 SoC 代码,其他项目请自行修改路径
"[cpp]": {
"editor.quickSuggestions": true
},
"[c]": {
"editor.quickSuggestions": true
},
"C_Cpp.default.includePath": [
"${workspaceFolder}",
"${workspaceFolder}/src",
"${workspaceFolder}/app/driver",
"${workspaceFolder}/app/include",
"${workspaceFolder}/app/Gizwits",
"${workspaceFolder}/app/include/driver",
"${workspaceFolder}/include",
"${workspaceFolder}/app/Utils"
],
"C_Cpp.default.browse.databaseFilename": "${workspaceFolder}/.vscode/.browse.c_cpp.db"
这样就可以了。
亲测结构体及结构体成员都能很好地自动完成。
注意:很多网上的文章都使用了 “${workspaceRoot}”,但是已经被官方弃用了,现在应该使用“${workspaceFolder}”以便支持工作区的多目录特性。
附全局参数列表:
New VS Code settings
The following C_Cpp.default.*
settings map to each of the properties in a configuration block of c_cpp_properties.json. Namely:
C_Cpp.default.includePath : string[]
C_Cpp.default.defines : string[]
C_Cpp.default.compileCommands : string
C_Cpp.default.macFrameworkPath : string[]
C_Cpp.default.forcedIncludes : string[]
C_Cpp.default.intelliSenseMode : string
C_Cpp.default.compilerPath : string
C_Cpp.default.cStandard : c89 | c99 | c11
C_Cpp.default.cppStandard : c++98 | c++03 | c++11 | c++14 | c++17
C_Cpp.default.browse.path : string[]
C_Cpp.default.browse.databaseFilename : string
C_Cpp.default.browse.limitSymbolsToIncludedHeaders : boolean
相关文章
- visual studio 2017 installer 安装包制作过程出现的问题---无法注册模块 HRESULT -2147024769 请与您的技术支持人员联系
- Visual Studio Code必备插件
- Cocos开发中Visual Studio下libcurl库开发环境设置
- 在Windows平台用visual studio编译的可执行文件部署时报:应用程序无法正常启动0xc000007b(跟DirectX9无关的原因)
- OpenGL学习-------visual studio 2010配置和第一个OpenGL程序讲解
- Spring Tools 4 for Visual Studio Code
- Visual Studio 2010无法启动调试
- Visual Studio 行末回车时运算符两侧自动加空格是怎么设置的
- 在Visual Studio中开发Matlab mex文件,生成mexw64/mexw32
- 使用 Visual Studio Code 搭建 SAP UI5 本地开发环境
- Visual Studio Code Active File in StatusBar 扩展以及 Extension API 概述
- 介绍一个能将任意关键字高亮实现的 Visual Studio Code 扩展
- 使用Visual Studio Code调试运行在SAP云平台上处于运行状态的nodejs应用
- Visual Studio Code的一个插件,让图标以Material的设计风格呈现
- Visual Studio 2013 无法使用:在文件中查找(Ctrl+Shift+F)
- Visual Studio Code环境变量配置
- 如何处理Angular项目在Visual Studio Code打开报关于@Decorators的警告信息
- Visual Studio Code的下载安装&设置中文包/配置中文语言
- Ubuntu 下Unable to install “Visual Studio Code“:snap “code“ has “install-snap“ change in progress
- 如何下载Visual Studio Code及配置教程
- visual studio code 如何取消提示
- IDE之Visual Studio Code:Visual Studio Code的简介、安装、使用方法之详细攻略
- visual studio2017许可证过期,只有退出visual studio选项
- [0] Visual studio 2010 快捷键大全
- Visual Studio Code Dev
- 计算机安装ipguard客户端visual studio 2019报错build stopped:subcommand failed
- Visual Studio 2019新特性:位操作
- visual studio “通常每个套接字地址(协议/网络地址/端口)只允许使用一次“
- 我想总体了解一下Visual Studio,MSBuild和CSC之间的关系是什么?
- 安装visual studio code(VS Code)并修改为中文
- Bearpi开发板之Visual studio code终端编译