【问题标题】:Disable Visual Studio 2015 comment alignment?禁用 Visual Studio 2015 注释对齐?
【发布时间】:2017-06-19 16:47:42
【问题描述】:

在 Visual Studio 2015 中,如果您有这样的代码:

var foo = that.Bar(); // Get the value
//foo++;

选择编辑 -> 高级 -> 格式化文档会产生如下格式:

var foo = that.Bar(); // Get the value
                      //foo++;

Visual Studio 假设两个不相关的 cmets 相关并将它们组合在一起。关系的假设是因为有连续的行,一行以注释结尾,下一行以注释开头。当然,这可以通过添加空行来解决,但这并不总是最好的选择,具体取决于特定的代码。请注意,Visual Studio 2013 没有此功能。

我无法通过互联网搜索找到任何提及此功能的信息。这是 C#,Visual Studio 配置为保留选项卡。

有什么办法可以禁用这一部分的自动格式化?

【问题讨论】:

  • stackoverflow.com/questions/45774439/… 这个线程讨论了 c++ 的选项在哪里(可能我没有检查它),但是 c# 没有相应的选项。我认为这个问题是从一些 vs2015 更新开始的,因为我觉得这个麻烦是一个相对较新的问题。
  • 这种行为非常令人讨厌,因为: 1. 它对可能不相关的 cmets 进行分组 2. 它会导致在比较文件时出现大量更改 3. 在 C# 中没有办法将其关闭即使它显然可以完成,因为 C++ 有这个选项

标签: c# visual-studio-2015 comments indentation text-editor


【解决方案1】:

我认为这是不可能的。我找到了this post on GitHub,其中一条评论提到了您的问题。 CyrusNajmabadi 写道:

有趣的是,我们添加了一些支持以在多行上对齐 cmets。因此,例如,在提到的示例中,您最终的发布格式为:

对齐是一个有趣的问题,目前我们不支持在标记之间格式化时使用制表符进行对齐。但是,考虑到您可能将这些 cmets 附加到项目上,这些 cmets 会变得越来越复杂,这些项目本身会通过格式化而移动,因此它们的位置可能会移动到不在制表位边界上的位置。

【讨论】:

  • 谢谢 diiN______。 GitHub 上的那个问题似乎实际上是关于在带有 cmets 的行上保留中线选项卡(或缺乏保留),但它给了我一个环顾四周的好地方。我遇到的情况是在行首插入额外的缩进制表符。我猜你是对的,这是不可能的。我什至搜索了注册表。但希望有人知道一个秘密设置。 :-)
  • CyrusNajmabadi 反复表示,真正的问题是解决这个问题需要大量的规则。然而,更有意义的是,如果没有特定的规则可以让代码不理会!如果 MS 想要缩进连续的 cmets 以相互匹配,那应该是一个选项,而不是默认行为。
  • 从那以后有什么变化吗?
猜你喜欢
  • 2017-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 2017-04-29
相关资源
最近更新 更多