早上好,先生,
我使用Visual Studio Code用C语言进行代码编写。我最近发现了C(和"C/C++"(的Prettier扩展
当我添加";"或使用Ctrl+S保存时,我发现我可以添加自动缩进。
增加了线条;
"editor.formatOnSave": true,
"editor.formatOnType": true
visualstudio的settings.json文件中的
现在,尽管有几乎完美的缩进,我还是想做一些调整,比如在初始化变量类型int
之后
没有空格,只有一张表格,就像这样;
int x;
//rather than;
int x;
以及功能类型
void ft_function(int x);
//rather than ;
void ft_function(int x);
(因为我有一个标准需要满足,当我保存或什么时,这些变量初始化的所有缩进都不再符合我的标准(
我对json一无所知,我刚刚发现了这个函数,所以我想知道论坛里的天才们是否知道它,如果知道,怎么知道?至少有一些线索^^
我找到了设置"C_Cpp.clang_format_style": "{ BasedOnStyle: LLVM, AlignConsecutiveDeclarations: true }"
它适用于我的变量对齐,但不适用于函数。因此,我的函数得到了这样的自动缩进:
int ft_strlen(char *str) {
int i;
i = 0;
while (str[i])
i++;
return (i);
}
我想要这样的东西:
int ft_strlen(char *str) {
int i;
i = 0;
while (str[i])
i++;
return (i);
}
您想要实现的样式,在一些著名的法国编程学校中使用,如Epita、Epitech和42,并没有在编程环境中广泛实现。这里有法语的原始描述。
使用制表符而不是空格已经过时了,因为制表符设置因环境而异,这会破坏代码和注释的对齐,但出于某种原因,它们是本文档强制要求的。
在编写文档时对齐标识符只是一种任意的约束,可以教会编程学生非常注意细节并学会遵循本地规则。例如,在42,他们通过样式检查器运行学生的程序,并使违反严格演示规则的程序失败。
在其他令人惊讶的规则中,程序员被教导使用while
而不是for
,这是非常值得怀疑的。
同样,我想不出有什么好的理由在return
语句中用括号括起返回值。
如果没有一些额外的代码,配置Visual Studio代码以根据这些规则重新格式化代码似乎并不容易:如果您找到了一个实用工具来重新格式化代码以满足这些规则,则可以将其注册为自定义筛选器。在github上搜索moulinette。。。但如果你找不到,那就自己写吧,这是一个很好的练习,对你的同学很有用。你甚至可以修补VSC。