用户设置不适用于格式化PowerShell代码
我正在Visual Studio代码用户设置(用户设置不适用于格式化PowerShell代码,powershell,visual-studio-code,Powershell,Visual Studio Code,我正在Visual Studio代码用户设置(settings.json)中保存以下内容,并保存、重新启动Visual Studio代码,但它不起作用 “powershell.codeFormatting.openBraceOnSameLine”:false, “editor.formatOnType”:true 我想让它做的是当我键入: if (1) {}Enter 不是这个(默认行为): 这些设置应该足够了,但出于某种原因,它不需要 有什么想法吗 如果我在之后对文档进行格式化(Shift+
settings.json
)中保存以下内容,并保存、重新启动Visual Studio代码,但它不起作用
“powershell.codeFormatting.openBraceOnSameLine”:false,
“editor.formatOnType”:true
我想让它做的是当我键入:
if (1) {}Enter
不是这个(默认行为):
这些设置应该足够了,但出于某种原因,它不需要
有什么想法吗
如果我在之后对文档进行格式化(Shift+Alt+F),它确实会按照上面指定的方式更正文档,但我希望它在类型上自动格式化 是否将powershell.codeFormatting.ignoreOneLineBlock设置为
true
?这是该设置的默认值。好吧,它会在键入时重新格式化,但需要输入几个条目才能应用它们。在格式化大括号之前,必须看到enter两次
所以你基本上必须这样做:
if (1) {
Enter
Type Something Enter
}
如果(1){
进入
输入某物
}
在第二个enter键之后,它将为您重新设置大括号的格式
您好,是的,它被设置为此,但即使它为false,也不会改变不需要的格式化行为。不管怎样,谢谢你的建议是的,这似乎对我也不起作用。我已经启用了粘贴格式,即使禁用了忽略一行块,粘贴这样的块也会被忽略。是的,这看起来还是个bug。如果是这样的行为,那到底是什么呢?
“powershell.codeFormatting.ignoreOneLineBlock”
甚至可以做什么?你可以在GitHub上找到关于格式选项的详细问题(现在找不到)。这不是一个bug,只是他们如何实现它。如果您认为编辑器服务必须先看到击键,然后才能启动,因此在执行某些格式时会有延迟。忽略一行块是格式化程序块语句位于一行的地方。它不会扩展这些。我知道设置的含义。我是说formatOnType
不适用于ignoreOneLineBlock
。关键是,如果(1){2}+Enter未使用“powershell.codeFormatting.ignoreOneLineBlock”:false
和“editor.formatOnType”:true进行格式化,。但是,如果“editor.formatOnPaste”:true
,则粘贴上述代码会对其进行格式化。同样,Shift+Alt+F也将对其进行格式化。那么,如果有两种行为,哪一种是正确的?为什么会有两种不同的行为?FormatOnType和ignore one line block并不意味着要一起工作。它是在你打字时没有效果的一种。它在您使用格式文档或格式选择时生效。“粘贴时使用格式”相当于针对粘贴到编辑器中的内容运行“格式选择”。如果粘贴大量代码,可以看到这种效果,它将在复制时格式化到文件中,并且编辑器需要几毫秒来完成并应用格式化。
if (1){
}
if (1) {
Enter
Type Something Enter
}