假设我输入以下代码并对其进行格式化。
if (condition) { /* Hello! */ }
如果这是C#代码,它应该像这样格式化:
if (condition)
{
// Hello!
}
如果是 JavaScript 代码,VSCode 会格式化它如下:if (condition) {
// Hello!
}
那么我如何在所有语言中使用第一种格式(花括号换行)?我找不到设置或类似的东西。有什么建议吗?
假设我输入以下代码并对其进行格式化。
if (condition) { /* Hello! */ }
如果这是C#代码,它应该像这样格式化:
if (condition)
{
// Hello!
}
如果是 JavaScript 代码,VSCode 会格式化它如下:if (condition) {
// Hello!
}
那么我如何在所有语言中使用第一种格式(花括号换行)?我找不到设置或类似的东西。有什么建议吗?
按照以下步骤使得Visual Studio Code在Java Script和Type Script中将左花括号格式化到新的一行。
在Visual Studio Code(v1.20.0)中:
在'用户设置'(右侧面板)中添加以下行:
"javascript.format.placeOpenBraceOnNewLineForControlBlocks": true,
"javascript.format.placeOpenBraceOnNewLineForFunctions": true,
"typescript.format.placeOpenBraceOnNewLineForControlBlocks": true,
"typescript.format.placeOpenBraceOnNewLineForFunctions": true,
保存"User Settings",完成!
C#
或者 csharp
怎么翻译呢?以上的格式选项似乎都没有用处。请您指示。 - Daniel Jackson需要PHP解决方案的人,需要安装 PHP Intelephense
扩展并更新 settings.json
文件。
"intelephense.format.braces": "k&r"
默认情况下是 psr12
。
默认情况下,VS Code不支持格式自定义。但是使用js-beautify扩展程序可以进行格式自定义。您可以在VS Code Marketplace(https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify)中找到免费版本。
如果您需要大括号放在新行,可以通过在项目根文件夹中创建'.jsbeautifyrc'配置文件并定义以下行来设置:
{
"brace_style": "expand"
}
如果您需要更多的格式选项,您可以在下面的链接中找到:
https://github.com/HookyQR/VSCodeBeautify/blob/master/Settings.md // Brackets on a new line
"javascript.format.placeOpenBraceOnNewLineForControlBlocks": true,
"javascript.format.placeOpenBraceOnNewLineForFunctions": true,
"typescript.format.placeOpenBraceOnNewLineForControlBlocks": true,
"typescript.format.placeOpenBraceOnNewLineForFunctions": true,
或者在设置中搜索函数换行并勾选两个框,通过输入ctrl+shift+p打开它,并搜索打开设置(json)
2021年,默认行为似乎是OP所想要的。要在c#中(使用vscode 1.63和omnisharp)将花括号放在同一行上,您需要在项目根目录中创建一个omnisharp.json文件,并按https://nosuchstudio.medium.com/formatting-curly-braces-on-the-same-line-in-c-in-vscode-c4937e1c215f中描述的正确设置进行设置。例如:
{
"FormattingOptions": {
"NewLinesForBracesInLambdaExpressionBody": false,
"NewLinesForBracesInAnonymousMethods": false,
"NewLinesForBracesInAnonymousTypes": false,
"NewLinesForBracesInControlBlocks": false,
"NewLinesForBracesInTypes": false,
"NewLinesForBracesInMethods": false,
"NewLinesForBracesInProperties": false,
"NewLinesForBracesInObjectCollectionArrayInitializers": false,
"NewLinesForBracesInAccessors": false,
"NewLineForElse": false,
"NewLineForCatch": false,
"NewLineForFinally": false
}
}
以下指示适用于VS Pro 2012...
希望这对您有所帮助。如果您有任何问题,请随时回复。
{
放在下一行时导致问题。著名的例子是return {a: 'b'};
,这里的{
在return
的下一行。当添加分号时,相同的语句被视为return;
和下一行{..
,这导致返回undefined
,而您期望的是对象,请阅读更多信息:https://dev59.com/JnE85IYBdhLWcg3wSxkv和http://jamesallardice.com/understanding-automatic-semi-colon-insertion-in-javascript/ - Tushar