【问题标题】:Modify the indentation of VsCode in C修改C中VsCode的缩进
【发布时间】:2020-07-24 06:39:23
【问题描述】:

早上好,先生,

我使用 VisualStudio Code 用 C 语言编写代码。我最近发现了 C 的 Prettier 扩展,(和“C/C++”)

当我添加“;”时,我看到我可以添加自动缩进或者当我使用 Ctrl+S 保存时。

加上线条;

"editor.formatOnSave": true,
"editor.formatOnType": true

在 Visual Studio 的 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);
}

【问题讨论】:

  • 您可以通过点击分数下方的灰色复选标记来接受答案。

标签: c json visual-studio-code settings auto-indent


【解决方案1】:

您希望实现的风格,在一些著名的法国编程学校,如 EpitaEpitech42 中使用,并没有被广泛使用在编程环境中实现。法语的原始描述是here

使用制表符代替空格已过时,因为制表符设置因环境而异,这会破坏代码和注释对齐,但出于某种原因,本文档强制要求使用制表符。

在文档中对齐标识符只是一种任意约束,可以教会编程学生高度关注细节并学习遵守当地规则。例如,在 42 时,他们通过样式检查器运行学生的程序,而使违反严格演示规则的程序失败。

在其他令人惊讶的规则中生效,程序员被教导使用while而不是for,这是非常值得怀疑的。

同样,我想不出在return 语句中用括号括起来的充分理由。

如果没有一些额外的代码,配置 Visual Studio Code 以针对这些规则重新格式化您的代码似乎并不容易:如果您找到一个实用程序来重新格式化代码以满足这些规则,您也许可以将其注册为自定义过滤器。在 github 上搜索 moulinette... 但是如果你找不到,你自己写吧,这是一个很好的练习,对你的同学很有用。你甚至可以修补 VSC。

【讨论】:

  • 是的,我努力尊重 42 学校对我的项目的标准!我对json和vscode设置的配置一无所知,所以我不知道,我会等待更多的答案! ^^ 谢谢
猜你喜欢
  • 2021-08-11
  • 2017-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多