如何借助ReSharper在Visual Studio中显示枚举的数值?
如何在Visual Studio中便捷查看/生成枚举数值注释
太懂这种手动给枚举加数值注释的麻烦了——尤其是用[Flags]枚举的时候,数位值简直是折磨!下面给你几个实用的解决方案,不用再手动一个个标了:
一、Visual Studio内置:悬停直接看数值(不用加注释)
其实Visual Studio本身就自带显示枚举数值的功能,只是可能你没留意到。当你把鼠标悬停在枚举成员上时,默认就会弹出提示框显示它的对应数值,比如:
enum PossibleValues { AnOption, ADifferentOption, TheLastOption }
悬停AnOption会显示 PossibleValues.AnOption = 0,悬停ADifferentOption就是=1,完全不用手动数。如果你的VS没显示这个,去工具→选项→文本编辑器→C#→高级里,找到「显示枚举值的数值」选项勾选上就行(VS2019及以上版本都有这个设置)。
二、自动生成数值注释的插件
如果你确实需要在代码里保留//0这种注释,那用插件一键生成更高效,推荐几个靠谱的:
- ReSharper:老牌代码增强工具,选中枚举后,用它的代码生成功能就能自动给每个成员加上数值注释,操作很顺手。
- Roslynator:免费的Roslyn插件,右键枚举→「Roslynator」→「Generate Comments for Enum Members」,就能一键生成所有成员的数值注释,完全免费还好用。
- CodeMaid:轻量级代码整理插件,在设置里开启「枚举数值注释」相关选项后,整理代码时会自动给枚举成员加上对应数值的注释,省心又轻便。
三、Flags枚举的偷懒技巧
如果是带[Flags]特性的枚举,手动算位值太麻烦,不如直接在代码里用位移运算符写,既清晰又不用算:
[Flags] enum PermissionFlags { None = 0, Read = 1 << 0, // 1 Write = 1 << 1, // 2 Delete = 1 << 2,// 4 All = Read | Write | Delete // 7 }
这样写出来的代码不仅直观,悬停时也能看到最终的数值,比单纯加注释更实用。
内容的提问来源于stack exchange,提问作者Licht
相关产品推荐
相关产品推荐

