【问题标题】:C# Curly Brace Formatting Visual Studio 2017C# 花括号格式化 Visual Studio 2017
【发布时间】:2019-01-04 10:35:00
【问题描述】:

我是 Visual Studio Code 的新手,因为我正在学习 C#,所以我从 Atom 搬到了那里。这也是我第一次在这里发问题,如果我做得不好,请原谅我。

for(int i = 1; i < args.Length; i++){<cursor>}

我希望能够按回车键,代码应如下所示:

for(int i = 1; i < args.Length; i++)
{
    <cursor>
}

我知道其他人也遇到过类似的问题,但我研究了几个小时并摆弄设置,但没有成功。我正在使用最新版本的 Visual Studio 2017。

如果您需要更多信息,请提出问题。谢谢!

【问题讨论】:

  • 在 ( 后面按回车,然后输入 { 会让 {} 再次按回车,你会得到你想要的格式
  • 您可以使用 sn-p 进行“for”循环。写下“for”,然后按两次 tab 键。
  • 那么它在哪里不起作用 - 在 VS Code 或 VS2017 中(你在标题中写了 VS2017,而且 - “我是 Visual Studio Code 的新手”)?在 VS2017 中,它的工作方式与您描述的一样。
  • @SeM,我正在使用 Visual Studio 2017(社区版)。对此感到抱歉。
  • @habib 是的,但是当我(例如)声明一个函数时,这个问题仍然存在。

标签: c# visual-studio formatting visual-studio-2017 curly-braces


【解决方案1】:

编写代码后按 Ctrl+K+D。 它会布局你的代码。

【讨论】:

  • 这更可能应该在 cmets 中。
  • 这似乎没有任何改变。
【解决方案2】:

不幸的是,您使用的格式几乎一直有效。看起来它已经被缩小了,所以按照我的标准是可以接受的。

我猜你正在大规模地这样做并寻找一种快速的方法来做到这一点。

如果你按 Ctrl + H,它应该会打开搜索替换对话框。

开启正则表达式功能。 (搜索框下方的小框,看起来像星号)

在搜索框中输入:“for\((.)\){(.)}”

在替换框中,输入:“for ($1) \n { \n $2 \n }”

这使用正则表达式来解决您遇到的问题。顺便说一句,这只适用于你描述的确切格式的 for 循环,看起来它已经被缩小了,所以应该没问题。

是的,如果你按下回车键,它会带你进入所有的 for 循环。之后,只需单击全部替换,它应该是您想要的格式。

之后,您的缩进可能会完全不正常,因此只需按 Ctrl + K,然后按 Ctrl + D,就应该为您解决所有问题。

顺便说一句,我不是正则表达式行家,所以请不要因为我的业余技能而责备我。

【讨论】:

  • 嘿,我试过了,首先,它给了我一个错误,说“找不到以下指定的文本:”我在第一个框中添加了输入。其次,假设它按照您的描述工作,我认为它不能完全解决我的问题。每当我使用大括号(if 语句、函数等)时,这个格式问题基本上都会存在,所以我需要一个完整的解决方案。
【解决方案3】:

感谢大家的反馈,我已经解决了。

在工具 > 选项 > 文本编辑器 > C# > 选项卡中:

我已切换到 Block(从 Smart),因为 Smart Tabs 使结尾的花括号一直向左移动。我试着来回切换它,但它并没有解决问题。

我正在阅读另一个问题,其中提出问题的人添加了一条评论,说新文件没有问题。所以,我用新文件的原始设置尝试了这个,它没有问题:)

抱歉,再次感谢所有提示!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    • 1970-01-01
    • 2016-12-31
    相关资源
    最近更新 更多