Visual Studio中变量名下的三个灰点

时间:2017-03-29 17:20:13

标签: c# visual-studio

Two variable names with three gray dots under each of them

这三个灰点是什么意思?我最近更新到Visual Studio 2017,我还没有在其他版本的VS中看到它们。

2 个答案:

答案 0 :(得分:23)

它们表明Visual Studio建议将您的代码重构为更简单,更易读和更高效。 请参阅Quick Actions and RefactoringsVisual Studio 2017 (version 15.0) Release Notes部分。

答案 1 :(得分:1)

只是为新手程序员加倍澄清,这些在任何意义上都不是错误消息。它们仅是@Oleksander状态下建议的更“可读和有效”代码的建议。

与警告或错误消息不同,对于您的应用程序,某些建议可能不是最佳建议,至少在我看来,这几乎是100%。

我曾在Unity游戏引擎C#应用程序中建议将变量设置为“只读”。我不确定在这种情况下是否为只读是否会产生实际差异,因为在这种情况下,我认为这种情况在上下文中非常明显:一个已序列化并可以在游戏编辑器程序中设置的私有变量,没有人可能创建此游戏场景管理器类中的新方法,以更改/分配此变量。同样,它提出了为类私有字段创建属性的建议,我认为这是多余的代码。

至少这些是要采取行动的低优先级消息。

在Visual Studio中隐藏3个点符号

如果右键单击并阅读这些建议之一,则可以找到带有各种可选参数的选项,以在全局项目文件中禁止显示这些消息。因此,例如,就我而言,现在我不需要整个项目的任何只读消息建议(如果这是个坏主意,欢迎纠正我的经验!),所以在项目的根目录下,与.sln解决方案文件相同。 csproj文件,在我的C#项目中为.git文件,它保存名为“ GlobalSuppressions.cs”的文件。根位置和确切的文件名可能至关重要。

我想如果您想浪费时间的话,如果您想阻止以后的编码人员/使您免于烦恼或花时间在这3个点消息上,请不要浪费时间。 就我而言,要摆脱该项目中所有“只读”关键字建议,代码是(注释是VS自动注释):

// This file is used by Code Analysis to maintain SuppressMessage 
// attributes that are applied to this project.
// Project-level suppressions either have no target or are given 
// a specific target and scoped to a namespace, type, member, etc.

[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier")]