【问题标题】:Stop visual studio 2013 from repositioning braces on new line?阻止 Visual Studio 2013 在新行上重新定位大括号?
【发布时间】:2014-10-10 10:29:40
【问题描述】:

当我按下回车键时,它会重新定位大括号。我怎么能阻止它?我希望 VS 在我输入左大括号后继续自动添加右大括号,但我不希望它在输入时移动大括号。我该怎么做?

【问题讨论】:

  • 工具 - 选项 - 文本编辑器 - C# - 格式化 - 大括号的新行选项?
  • 您在 VS2012 中标记了问题。如果真的是 2013 年,我目前手头没有,它应该在一个非常相似的地方。
  • 那里的选项只会改变开括号自动去的地方。我希望打开的大括号根本不动。
  • “只改变开括号会自动移动的位置”和“我希望开括号根本不动”有什么区别?如果您取消选中“在新行上放置左大括号...”选项,它将在您输入的行上留下左大括号。这和你问的有什么不同?
  • @DaveKidder 如果我取消选中该选项,它将不会在我输入的行上留下左大括号。如果我将它移到新行,它将移到第一行。换句话说,选中该选项会自动将大括号移动到新行,取消选中它会自动将大括号移动到 if/for/switch... 所在的同一行。问题是,在密集的代码中,我更喜欢将它放在新行上,但在小块中,我更喜欢将它与 if/for... 放在同一行上。

标签: c# .net visual-studio visual-studio-2012 visual-studio-2013


【解决方案1】:

在 Visual Studio 2013 中,您可以通过执行以下操作来更改该选项:

  1. 进入菜单并选择:“工具|选项”
  2. 选择节点“文本编辑器”
  3. 选择节点“C#”
  4. 选择节点“格式化”
  5. 选择节点“新行”
  6. 取消选中“将左大括号放在新行以...”无论您不希望将左大括号移至下一行。
  7. 选择“确定按钮”

这是自动行为样式。这意味着如果您复制/粘贴或完成一个块,如果您的“粘贴时格式化”选项是选项,VS 将重新设置粘贴块的样式。如果您的“完成时格式化块”选项打开,它将重新设置块的样式(将左大括号放在样式需要的位置)。

从您的 cmets 看来,您似乎应该问“如何关闭样式执行?”或“我如何只在 if 块上强制使用大括号样式?”

您可以进入“工具|选项|文本编辑器|C#|格式化|常规”并取消选中自动格式化选项以防止在粘贴时强制设置样式,通过键入 }; 来完成一个块,但在编辑 C# 文件类型时,它不会停止 Visual Studio 编辑器中的所有自动重新设置样式。

【讨论】:

    【解决方案2】:

    据我所知,没有一种设置可以将其保留在您键入的行上(因为大多数团体都建立了编码样式标准,规定将左大括号放在同一行上或始终放在新行)。

    您可以通过将光标移到大括号块之外来让 VS “忘记”它应该对大括号做什么。因此,如果您选中选项>>格式设置(因此通常会将大括号放在下一行),您可以通过点击右箭头、左箭头、ENTER(即移动光标)使左大括号保持在同一行结束大括号,然后将其移回大括号之间,然后输入新行)。

    不是你想要的,但这是我能想到的最好的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-28
      • 2016-08-17
      • 2016-08-31
      • 2017-11-07
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      相关资源
      最近更新 更多