VScode自动缩进和缩进指南以及列表大小(editor.tabSize)

时间:2020-08-13 08:36:10

标签: visual-studio-code indentation

我有一个使用4列缩进级别的文件,并假定一个制表符对应8个空格,像这样(我用.代表一个空格,<------>代表一个制表符):

class Foo {
....void bar() {
<------>if (boz) {
<------>....return x;
<------>}
....}
}

这对于某些编码风格(例如Oracle coding conventions for Java)很常见:

应使用四个空格作为缩进单位。缩进的确切结构(空格与制表符)未指定。制表符必须每8个空格(而不是4个)完全设置一次。

我在使用VSCode正确渲染时遇到了问题:

  • 如果我将editor.tabSize设置为4,则它会严重呈现为
class Foo {
....void bar() {
<-->if (boz) {
<-->....return x;
<-->}
....}
}
  • 如果将editor.tabSize设置为8,则可以正确显示文本,但是缩进指南不正确(void bar()缩进级别缺少指南):

indentation guides

更重要的是,自动缩进(按{tab}键,或在{字符后按“ return”时即时缩进)现在具有8列缩进,使得编辑器几乎无法使用。 / p>

一个显而易见的解决方法是仅使用空格进行缩进,但这不适用于打开预先存在的文件。

有没有一种方法可以配置缩进指南每4列显示一次,同时仍每8列显示一次制表符?

editorconfig跨编辑器配置文件规范中,这对应于tab_widthindent_size属性,我希望能够独立进行更改。

我曾经是Emacs用户,例如,这对应于tab-widthc-basic-offset

2 个答案:

答案 0 :(得分:0)

不幸的是,到目前为止,没有任何设置或扩展仅基于(空格/当前标签大小)。

答案 1 :(得分:0)

缩进 VS Code可让您控制文本的缩进以及是否要使用空格或制表位。默认情况下,VS Code插入空格,每个Tab键使用4个空格。

如果要使用其他默认值,则可以修改editor.insertSpaces和editor.tabSize设置。

"editor.insertSpaces": true,
"editor.tabSize": 4,

有关更多信息,VS Editing

列缩进

这里有几个问题:diff很难看,但现在浪费了空白,而且普遍不一致性。

对于差异,当将someMethodName重命名时,所有包装的参数行都将移动。是的,好的,复杂的差异/代码查看工具可以希望忽略此仅空格的更改(尽管我们在工作中使用的不是),但这仍然是不必要的噪音。

对于浪费的空白,将换行移到someMethodName结束的地方,这意味着它们用于自己的名称的空间较小。 (当然,如果将column-on-column与wrap-all一起使用,这还不错,因为每个参数都具有自己的(缩短的)空格行。但是,如果将column-on-column与when-when结合使用,需要的空间更有价值。)

有关更多信息,Indenting