Mat*_*Moy 7 indentation visual-studio-code
我有一个使用 4 列缩进级别的文件,并假设一个制表字符对应于 8 个空格,如下所示(我.用来表示一个空格,并<------>表示一个制表字符):
class Foo {
....void bar() {
<------>if (boz) {
<------>....return x;
<------>}
....}
}
Run Code Online (Sandbox Code Playgroud)
这对于某些编码风格很常见,例如Java 的 Oracle 编码约定:
应该使用四个空格作为缩进的单位。缩进的确切构造(空格与制表符)未指定。制表符必须恰好每 8 个空格(而不是 4 个)设置一次。
我无法使用 VSCode 正确呈现它:
editor.tabSize为 4,那么它的渲染效果会很差class Foo {
....void bar() {
<-->if (boz) {
<-->....return x;
<-->}
....}
}
Run Code Online (Sandbox Code Playgroud)
editor.tabSize为 8,则文本会正确呈现,但缩进指南不正确(void bar()缩进级别缺少指南):更重要的是,自动缩进(按“tab”键,或在{字符后按“return”时即时缩进)现在缩进了 8 列,使编辑器几乎无法使用。
一个明显的解决方法是仅使用空格进行缩进,但这在打开预先存在的文件时不适用。
有没有办法将缩进指南配置为每 4 列显示一次,同时仍然每 8 列呈现选项卡?
在editorconfig跨编辑器配置文件规范中,这对应于我希望能够独立更改的tab_width和indent_size属性。
我以前的Emacs用户,这将对应于tab-width和c-basic-offset的例子。
2020年评论中提到的issue,microsoft/vscode第10339期,终于在2022年11月关闭了(!)
PR 155450允许为缩进和制表符的显示宽度设置单独的值,这是一些旧项目和/或编码样式的常见要求。
除了添加对
editor.indentSize属性的支持之外,状态栏上的缩进选项也已更新,以允许独立配置editor.indentSize和editor.tabSize。
所以:
editor.indentSize:用于缩进的空格数或tabSize使用来自 的值的“ ” editor.tabSize。打开
时,此设置将根据文件内容被覆盖。editor.detectIndentation
这应该很快就会在VSCode Insiders中提供,并与 VSCode 1.74(2022 年 11 月)一起发布。