是否可以让VSCode在空行上保留缩进?
无法在本地或在"美化"中找不到这样的设置。扩展
所需行为的示例:
更新:最终我刚刚切换到Prettier - 并且再也没有考虑过代码风格,因为它只是为我自动格式化。
答案 0 :(得分:12)
转到文件>偏好>设置。在右侧,添加以下行:
,"editor.trimAutoWhitespace": false
它非常适合我。
答案 1 :(得分:5)
一个老问题,但是我发现这些设置是组合的:
"editor.trimAutoWhitespace": false,
"editor.renderWhitespace": "all"
...为我工作。
答案 2 :(得分:0)
这可能是eslint(和/或美化)这样做。看看
params["b"]
我在我的eslintrc.json文件中有这个,所以我在空白行上出现错误,上面有空格或标签。将“skipBlankLines”设置为true可能对您有用。
答案 3 :(得分:0)
命令unsigned int
换行,并将光标移到此处,保留缩进。
要将命令绑定到Enter键,请转至键盘快捷键(按ctrl + k ctrl + s),然后按最右上角的两个花括号按钮。
添加以下命令
editor.action.insertLineAfter
确保它在Json列表的末尾之前。
答案 4 :(得分:0)
我有同样的问题,但是删除后:
"editor.autoIndent": "none"
我很好走。
答案 5 :(得分:-1)
时间戳:
2021,使用 VS Code v1.56.2
您使用 editor.action.trimTrailingWhitespace
。稍后您希望在函数中编写新代码。您导航到函数中的一个空行,但发现该行没有缩进并且完全是空的。在这种情况下,您有四种选择:
此答案通过为您插入缩进来自动执行此工作流程(当您导航到由缩进线包围的空行时)。
背景: 花了 3 个小时尝试此页面上的所有解决方案(以及许多不同的扩展)。找不到其他有用的东西。
implicit-indent
扩展程序 jemc
:
https://marketplace.visualstudio.com/items?itemName=jemc.vscode-implicit-indent
导航到空行时自动缩进(如果其周围的行缩进)。
根据实验,implicit-indent
似乎是这样工作的:
自动检查和匹配制表符或空格缩进。
根据周围文本的缩进确定 spaces
或 tabs
,而不考虑编辑器设置。[参见脚注 2]< /p>
点击空行会自动缩进以匹配周围环境。
如果按向上 ↑ 或向下 ↓ 箭头键将插入符号 (又名文本光标) 导航到空行, implicit-indent
将自动缩进该行并将光标置于缩进的右侧(使其感觉就像该行已经缩进一样)。
-> 在按下 ↑ 或 ↓ 之前,插入符号位于哪一列无关紧要,无论此扩展名都会触发。
导航到空行匹配嵌套缩进。
假设您有以下内容:
Where |n| represents a line
and c represents the caret / text cursor
and only line |2| is empty.
|1| indented line
|2| (empty line)
|3| c indented line
^ assume caret is on line |3|
(caret can be at any column)
按向上 ↑ 箭头键结果如下:
|1| indented line
|2| c
|3| indented line
^ Line |2| (previously empty)
is automatically indented to
match nested indentation
of line |3|
and the caret is automatically moved
to the end of the inserted whitespace
(as if the line were already indented).
截至 2021 年 5 月,以下 GitHub 问题仍未解决:
https://github.com/microsoft/vscode/issues/49661
https://github.com/microsoft/vscode/issues/54210
https://github.com/OmniSharp/omnisharp-vscode/issues/1980
https://github.com/OmniSharp/omnisharp-vscode/issues/1680
使用 implicit-indent
是我目前发现的唯一解决方法。
当自动缩进添加到 VS Code 的本机设置时,我会修改这个答案。
[脚注 1]
作为此扩展的替代方案,您可以使用 Tab 或以下内置于 VS Code 的缩进/取消缩进功能来手动缩进空行。有点超出范围,但这是一个很好的热键。
默认的内置热键是:
editor.action.indentLines
editor.action.outdentLines
[脚注 2]
注意:无论您是否使用此扩展程序,您都可以使用以下 VS Code 命令快速替换当前文档的缩进(到前导制表符或前导空格):
editor.action.indentationToTabs
editor.action.indentationToSpaces