起因
我其实一直没在ubuntu的vscode下用过代码自动补全功能,因为我的代码有点不规范(例如代码行bzero (&sin, sizeof(sin));
函数名跟左括号是有空格的,比较难受),所以我想起了这个功能。之前用pycharm写python代码的时候用过这个功能,非常好用。
然后我就在ubuntu下的vscode里使用了这个功能(在代码区右键。会有格式化文档选项,如果没有是因为你需要安装C/C++插件,你打开一个C代码就会有这个提示的)。
问题
然后就给我难受坏了,因为四个空格的缩进的全变成两个空格了,逼死强迫症,于是我就去网上找解决方法:
- 去设置里搜索 “tab size” 设置为4和搜索:“detectindentation”,将前面的勾选去了
- Prettier - code formatter 根本不起效
- 重装,我发现右键代码区根本都没有格式化代码的选项了
结果一下午都没搞定。
原因
最后因为我的windows上也装有vscode,但是我去格式化代码,就是四个空格的缩进,我就在想为什么出现这种情况,最后我发现是因为下载的插件,因为要进行嵌入式linux开发,所以ubuntu就配置了clangd插件,进行代码跳转,但是clangd和推荐的C/C++插件冲突,所以我ubuntu上就卸载了C/C++插件。
最后结论:
- 安装clangd插件或者C/C++插件后,右键代码区都会产生格式化代码选项
- clangd插件默认格式化代码缩进为两个空格,C/C++插件默认缩进为四个空格
- 我不知道怎么改clangd插件的配置的,所以就这样吧,有大神的话记得告诉我,我去网上就搜到了一个帖子,按照他说的去配置还是行不通(https://blog.csdn.net/ly666888555/article/details/129477829)