背景:在汽车嵌入式软件行业工作,日常编辑大型工程( Autosar )。
用过的几类编辑器软件:
Source Insight:全局搜索太慢了,很多宏没法识别,函数跳转不够准确。 Clion:只能在自己的电脑上用,除了 double shift 的搜索不是特别准,其他方面都很好,奈何公司电脑不能安装。 VS Code:全局搜索又快又准,但头文件识别有问题,函数没法跳转,在 google 上搜了很多方法都不好用,而且内存占用真的太大了……
目前看比较容易在公司环境下使用的就是 VS Code ,所以有比较好能让 VS Code 识别 C 语言头函数的方法吗?
求教!
1
ingramyang 2021-12-19 14:36:17 +08:00 via Android
装 C/C++插件不是挺好用的嘛
|
2
RecursiveG 2021-12-19 15:02:45 +08:00
在 Linux 上写 CMake 项目 ccls 还挺好用的 https://github.com/MaskRay/ccls/wiki/Project-Setup
|
3
noroot 2021-12-19 15:14:46 +08:00 1
头文件识别有问题?配置好项目好识别还好吧,除非是那种用宏定义的头文件。
我是直接装了 C/C++ Extension Pack ,然后根据 Makefile 配置项目设置。 除了偶然性的 C/C++ 插件语法分析卡死需要重开 VSCode ,其他情况工作良好。 |
4
signalyc 2021-12-19 15:18:27 +08:00
自然是转进到 vim
|
5
ch2 2021-12-19 15:37:11 +08:00
新建个文件,当前目录下的.vscode/c_cpp_properties.json ,把头文件目录挨个加进来就是了
``` { "configurations": [ { "name": "Linux", "defines": [ "DEBUG", "_DEBUG", "_DEBUG_CDB", "UNICODE", "_UNICODE", "_FORTIFY_SOURCE=1", "CHECK_PTHREAD_RETURN_VALUE", "_FILE_OFFSET_BITS=64", "_LARGEFILE64_SOURCE", "LARGEFILE_SOURCE", "__cdecl=__attribute__((__cdecl__))" ], "includePath": [ "${workspaceFolder}/**", "/usr/include/c++/7", "/usr/include/x86_64-linux-gnu/c++/7", "/usr/include/c++/7/backward", "/usr/lib/gcc/x86_64-linux-gnu/7/include", "/usr/local/include", "/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed", "/usr/include/x86_64-linux-gnu", "/usr/include" ], "intelliSenseMode": "gcc-x64", "browse": { "path": [ "${workspaceFolder}/**", "/usr/include/c++/7", "/usr/include/x86_64-linux-gnu/c++/7", "/usr/include/c++/7/backward", "/usr/lib/gcc/x86_64-linux-gnu/7/include", "/usr/local/include", "/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed", "/usr/include/x86_64-linux-gnu", "/usr/include", ], "limitSymbolsToIncludedHeaders": false }, "compilerPath": "/usr/bin/gcc" } ], "version": 4 } ``` |
6
yolee599 2021-12-19 22:28:50 +08:00 via Android 1
远离 Electron ,不用 vscode
|
7
zheng5200 2021-12-20 00:44:37 +08:00
gtags + vscode 插件
|
8
kilasuelika 2021-12-20 12:32:09 +08:00 via Android
@ingramyang vscode 用 C++,装插件后,内存占用很大。至少 16g 内存才能用得比较愉快吧。8g 电脑用这个经常卡死。
|
9
ivan_wl 2021-12-20 19:17:13 +08:00
生成 compile_commands.json 然后 vscode 会自动识别并导入的
|
10
orange 2021-12-21 01:29:24 +08:00
ccls 还不错,需要提前生成 compile_commands.json
|
11
ingramyang 2021-12-21 02:53:07 +08:00 via Android
@kilasuelika 都这年头了谁开发机还用 8g 的,赶紧换啊
|
12
kilasuelika 2021-12-21 04:59:44 +08:00 via Android
@ingramyang 学校的电脑,不好换。平时用的 VS ,还能够用。
|