unity3d 在C#和C++中,如何设置VSCode在键入时在新行上放置大括号?

tjrkku2a  于 2023-02-13  发布在  C#
关注(0)|答案(6)|浏览(216)

我希望VS代码在C#和C++中的新行上放置大括号
现在的工作原理

它应该是什么样子

尝试了C# FixFormat扩展,但它只有在我按下CTRL+K+F后才能工作,但我希望VS代码在我编码时在新行上使用大括号,而无需热键等额外步骤

kxxlusnw

kxxlusnw1#

现在C#FixFormat已经被删除,尝试使用以下代码将omnisharp.json文件放在项目的根目录下。

{
    "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
    }
}
ghhkc1vu

ghhkc1vu2#

在我的例子中,我使用的是微软的C#扩展(3.5颗星)。默认情况下,这个扩展使用它的默认C#格式化程序。如下所示禁用格式化选项,你将不会得到任何格式化,包括烦人的NewLinesForBracesInMethods。或者你可以尝试调整C#扩展格式化程序。More info here
所以我用C# FixFormat(5星)扩展替换了它。这对我来说似乎是直接工作的。
但后来我意识到,我没有自动完成,所以我重新安装了微软的C#扩展,并保留了FixFormat扩展。它工作得很好,没有新的括号行。

eqfvzcg8

eqfvzcg83#

在VSCode上,转到File\Preferences\Settings并搜索“curly”。如图所示,启用所有四个 typescript 。

xmq68pz9

xmq68pz94#

从首选项/设置中,选择c# FixFormat并取消选中复选框(大括号:在同一行上)。

htrmnn0y

htrmnn0y5#

如果要全局添加此选项,可以执行以下操作:
1.打开目录:$HOME/.omnisharp(如果目录不存在,则创建该目录)
1.在所述目录中创建文件,该文件名为:omnisharp.json
1.从@thornebrandt的答案粘贴内容并保存文件
1.进入VS代码并使用alt + shift + f化代码

{
    "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
    }
}
2uluyalo

2uluyalo6#

按原样完成代码,然后Shift+Alt+F(或右击菜单选择)将自动格式化所有内容。不需要其他任何操作:-)

相关问题