这是一个我记录问题的地方,这些问题可能很蠢,可能很容易解决——毕竟我只是一个初学者。但还是请原谅我的愚蠢,我对此毫无办法,也希望这篇文章能见证一些…成长吧。
莫名的有一种赛博暴露癖一般的尴尬。
2026年8月31日
问题记录:
环境:win11,WSL2安装ubuntu24.04,连接visual studio code,编译使用的是CPP17。vsc插件有中文(微软),C/CPP(微软),PYTHON(微软),POWER CODE。
问题:写了一个cpp程序test.cpp,已经git init,准备git add .,结果git add操作花费了很久才完成。考虑到这个文件夹内可执行文件test和test.cpp大小之和在200K左右(我移除了test.o),认为git add的持续时间反常。
解决:
du -sh查看整个文件夹,大小为1.5G。进入文件夹,ls -a,发现了两个隐藏的文件夹:.vscode和.git。一个900MB左右,一个400MB左右。
发现大小极其反常,认为git add把.vscode也推上去了,大小不同可能是git压缩的结果。
决定删除.git文件夹并且重新初始化。但是如果重新git add可能会把.vscode再次加进去。查询资料得知.vscode包括vsc自己搞出来的缓存文件和配置文件,缓存文件删除无影响 配置文件删除会影响快捷键一键编译。考虑到我使用终端编译:rm -rf ./.vscode。
重新编译,git add,那个.vscode又出现了。
查阅资料发现VSCode的 C/CPP 插件默认索引 #include 路径。若配置了 "/mnt/c/**" 或者 "/**",会扫描整个 C盘,生成巨大数据库.vscode。决定删除C/CPP插件。
补偿方案:查询得知clanged不会扫描非人工指定区域(而且非常的轻量!)。卸载C/CPP和C/CPP DEV TOOLS(因为我不使用copilot),安装clangd和codeLLDB。编译指令从:
g++ -std=c++17 test.cpp -o test
改为:
bear -- g++ -std=c++17 test0.cpp -o test0
其中隐式包含了扫描系统头文件路径。如果使用clangd,十分不推荐不使用-std=c++17,否则可能会因为缺乏指定路径出现问题。
编译成功,du -sh查看文件夹大小,仅200KB,成功git add和git push。问题解决。
2026年10月26日
注意到一个新的问题:
安装了ros2_jazzy ,ros环境检查正常,可以正常创建package和node,但是使用一些依赖ros专有库的时候clangd提示标红。
检查发现没有安装ros2(微软)插件,安装时vscode提示该插件已经停止维护,无法安装,提示跳转到另一个插件作为替代,安装这个插件,使用了一个测试代码,clangd依旧提示报错。