停止 Visual Studio 文本编辑器自动移动注释行

joh*_*n_m 5 c# comments text-editors visual-studio-2015 visual-studio-2017

有没有办法阻止 Visual Studio 文本编辑器(2015 或 2017)在按 Ctrl+K、D 或相关按键(Ctrl+E、D - 格式化整个文档)时自动移动注释行?

我希望我的评论停留在放置的位置,无论上面或下面的代码位置如何。

例如,在从第 60 列开始的新行上写评论时,如下所示:

code line  
|-------- white space ----------| //... comment ..  <-- comment is auto shifted left  
code line
Run Code Online (Sandbox Code Playgroud)

以便它不会干扰下面或上面的代码,当按 Ctrl+K,D 时,注释向左移动,以与周围的代码对齐。

另一方面,当在代码行后面放置注释时,如下所示:

|--code line --|- white space -| //..1st comment line..  
|------white space ------------| //..2nd comment line.. <-- comment is properly auto aligned
Run Code Online (Sandbox Code Playgroud)

新行上的最终第二条评论与上面的保持一致,这表明编辑器可以根据某些标准调整评论行的位置。

我应该澄清一下,我想保留 Ctrl+K,D 的其余功能。

编辑:恐怕Seth在下面提供的管理代码格式中提到的所有准则,只是强制应用已在文本编辑器中为每种特定语言(尤其是 c#)设置的有关预期文本的指令。

所以,即使在注释前面插入了一些制表符或空格,如果使用 Ctrl+K,D ,它们也会自动消失,原因很简单,因为在某些结构中没有有关处理空格的相关说明,所以一般规则适用。

我相信添加到文本编辑器的简单指令,例如“保留注释前的空格或制表符”,将解决问题(确实如此,但仅当注释跟随代码时)。
这只是对已经存在但没有记录的行为的改进(就我所搜索的而言)。

小智 -1

这是一个“一半的解决方案”,但我没有找到更好的办法。在许多情况下,评论对齐遵循用户操作。在这些情况下,CTRL-Z(撤消)将注释放在对齐之前的位置。要撤消用户操作,需要再次按下 CTRL-Z。正如我所说,这不是一个解决方案,无论如何,它是让代码保持我们想要的样子的最快方法。希望微软能够有一个选项来禁用注释对齐。