[英]How do I set up VSCode to put curly braces on a new line?
假设我输入以下代码并对其进行格式化。
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,
保存“用户设置”就大功告成了!
默认情况下,VS 代码不支持格式自定义。 但是您可以使用js-beautify扩展进行格式自定义。 您可以在 VS 代码市场 ( https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify ) 上找到免费版本。
对于您在新行上使用花括号的要求,可以通过在项目根文件夹中创建一个“ .jsbeautifyrc ”配置文件并定义以下行来设置。
{
"brace_style": "expand"
}
有关更多格式选项,您可以从以下链接找到: https : //github.com/HookyQR/VSCodeBeautify/blob/master/Settings.md
那些需要PHP解决方案的人,您需要安装PHP Intelephense
Extension 并更新settings.json
文件。
"intelephense.format.braces": "k&r"
默认情况下它是psr12
。
我认为在条件声明中没有副作用,但在返回声明中存在问题。 请访问此链接: https : //web.archive.org/web/20160421051556/http : //encosia.com/in-javascript-curly-brace-placement-matters-an-example/http : //encosia.com/在-JavaScript的大括号放置位置的事项-AN-示例/
如果你想学习javascript,我建议你阅读道格拉斯克罗克福德的书“JavaScript:The Good Parts”。
C_Cpp:Clang_format_fallback 样式
谷歌
在settings.json文件中添加这些行,按ctrl+打开它,
// 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 with 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...
我希望这是有帮助的。 如果您有任何问题,请随时回复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.