我有一个文件,使用4列缩进级别,并假设制表符字符对应8个空格,就像这样(我使用 .
表示空格,<------>
表示制表符字符):
class Foo {
....void bar() {
<------>if (boz) {
<------>....return x;
<------>}
....}
}
这在某些编码风格中很常见,例如Java的Oracle编码规范:
应当使用四个空格作为缩进单位。缩进的确切构造(空格还是制表符)未指定。制表符必须每8个空格设置一次(而不是4个)。
我在VSCode中无法正确呈现:
- 如果我将
editor.tabSize
设置为4,则会呈现得很糟糕,如下所示:
class Foo {
....void bar() {
<-->if (boz) {
<-->....return x;
<-->}
....}
}
- 如果我将
editor.tabSize
设置为8,则文本会被正确地呈现,但缩进指南不正确(在void bar()
缩进级别缺少指南):
更重要的是,自动缩进(按下“tab”键或在{
字符后按下“回车”时进行即时缩进)现在使用8个列进行缩进,使编辑器难以使用。
一个明显的解决方法是仅使用空格进行缩进,但这在打开现有文件时不适用。
是否有一种方法可以配置缩进指南每4列显示一次,同时仍然以每8列呈现制表符?
在editorconfig跨编辑器配置文件规范中,这对应于我希望能够独立更改的tab_width
和indent_size
属性。
我曾经使用Emacs,例如这将对应于tab-width
和c-basic-offset
。