我有一个使用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()
缩进级别缺少指南):更重要的是,自动缩进(按{tab}键,或在{
字符后按“ return”时即时缩进)现在具有8列缩进,使得编辑器几乎无法使用。 / p>
一个显而易见的解决方法是仅使用空格进行缩进,但这不适用于打开预先存在的文件。
有没有一种方法可以配置缩进指南每4列显示一次,同时仍每8列显示一次制表符?
在editorconfig跨编辑器配置文件规范中,这对应于tab_width
和indent_size
属性,我希望能够独立进行更改。
我曾经是Emacs用户,例如,这对应于tab-width
和c-basic-offset
。
答案 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