首页 > 其他分享 >Rider如何针对一个项目禁用某一类错误检查(Inspections)的办法

Rider如何针对一个项目禁用某一类错误检查(Inspections)的办法

时间:2024-07-02 09:59:19浏览次数:16  
标签:none highlighting 禁用 switch resharper Inspections Rider

      Rider的Inspections确实是非常好的功能,但是也并非每一种检查都适合当前项目,有的检查对于当前项目可能是没有意义的,比如对于一个基础库,将很多未使用的属性、方法、类等设置为public是很合理的,但是Rider会高亮提醒,这可能不是我们想要的,所以我们可能想针对当前项目禁止这种检查。

      最简单的办法可能就是将光标移动到波浪线上,然后点击左侧的“点亮”图标(或者你的快捷键)选择修复或者使用注释禁用。但是这需要每个位置都作一次,更好的办法是使用.editorconfig配置。比如下面这个配置文件:

[*.cs]
resharper_unused_type_global_highlighting = none
resharper_unused_member_in_super_global_highlighting = none
resharper_gc_suppress_finalize_for_type_without_destructor_highlighting = none
resharper_member_can_be_private_global_highlighting = none
resharper_invert_if_highlighting = none
resharper_convert_switch_statement_to_switch_expression_highlighting = none
resharper_switch_statement_missing_some_enum_cases_no_default_highlighting = none
resharper_unused_member_global_highlighting = none
resharper_unused_field_compiler_highlighting = none
resharper_switch_statement_handles_some_known_enum_values_with_default_highlighting = none

      这里将.editorconfig所在目录以及其子目录下面的所有cs代码文件的Inspections禁用掉了一部分。本身Rider有上千种检查,要准确的找到这个检查叫什么名字,靠猜是很费劲的,所以这里提供一个百试不爽的办法,仅供参考。首先你要收藏Rider的这个官方文档:

      C# : https://www.jetbrains.com/help/rider/Reference__Code_Inspections_CSHARP.html

      C++ :https://www.jetbrains.com/help/rider/Reference__Code_Inspections_CPP.html

      其他语言以此类推。比如下面这一条。

Some values of the enum are not processed inside 'switch' statement and are handled via default section

SwitchStatementHandlesSomeKnownEnumValuesWithDefault

resharper_switch_statement_handles_some_known_enum_values_with_default_highlightin

 

     如图所示有这样一个提醒。此时可能我们并不想处理这个提醒。所以我们可以点击左侧“点亮”图标或者你的快捷键选择使用注释来禁用这一次:

     此时你可以看到,Rider自动帮你添加了一个注释:

    /// <summary>
    /// Gets the type of the underlying.
    /// </summary>
    /// <param name="memberInfo">The member information.</param>
    /// <returns>Type.</returns>
    /// <exception cref="System.ArgumentException">Input MemberInfo must be if type EventInfo, FieldInfo, MethodInfo, or PropertyInfo</exception>
    public static Type GetUnderlyingType(this MemberInfo memberInfo)
    {
        // ReSharper disable once SwitchStatementHandlesSomeKnownEnumValuesWithDefault
        switch (memberInfo.MemberType)
        {
            case MemberTypes.Event:
                return ((EventInfo)memberInfo).EventHandlerType!;
            case MemberTypes.Field:
                return ((FieldInfo)memberInfo).FieldType;
            case MemberTypes.Method:
                return ((MethodInfo)memberInfo).ReturnType;
            case MemberTypes.Property:
                return ((PropertyInfo)memberInfo).PropertyType;
            default:
                throw new ArgumentException
                (
                    "Input MemberInfo must be if type EventInfo, FieldInfo, MethodInfo, or PropertyInfo"
                );
        }
    }

      注释中的SwitchStatementHandlesSomeKnownEnumValuesWithDefault就是我们要关注的关键字。此时只需要拿着这个关键字去官方文档搜索一下即可:

      下方的字符串即可用于在.editorconfig中用于配置禁用某个Inspection。我也尝试过直接配置SwitchStatementHandlesSomeKnownEnumValuesWithDefault到.editorconfig中,但是似乎并没有效果。

      

标签:none,highlighting,禁用,switch,resharper,Inspections,Rider
From: https://www.cnblogs.com/bodong/p/18279339

相关文章

  • 开启虚拟机出现报错:此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态 解决办法
    开启虚拟机出现报错:此主机支持IntelVT-x,但IntelVT-x处于禁用状态图文已经给出了教程  1 先确定是否开了虚拟化  打开任务管理器  性能 显示被禁用  进bios打开 问题解决  请开始你在Linux世界的精彩 ......
  • 在Windows环境中,如果你希望禁用通过Win+R快捷键运行命令提示符(cmd),可以采取以下方法。
    在Windows环境中,如果你希望禁用通过Win+R快捷键运行命令提示符(cmd),可以采取以下方法。这些方法包括组策略编辑器和注册表编辑器,但请注意,修改系统设置可能会影响系统的其他功能,应谨慎操作。方法1:使用组策略编辑器打开组策略编辑器:按 Win+R,输入 gpedit.msc,然后按回车。......
  • C#实现禁用DataGridView控件列表头自动排序功能 (附完整源码)
    C#实现禁用DataGridView控件列表头自动排序功能代码说明:在C#中,可以通过设置DataGridView控件的列的SortMode属性来禁用列头的自动排序功能。以下是一个完整的示例代码,展示了如何实现这一功能:usingSystem;usingSystem.Windows.Forms;​namespace......
  • 企业内网是如何禁用U盘的?电脑禁用U盘有哪些方法?
    在当今企业环境中,数据安全和信息保护至关重要。为了防止数据泄露和恶意软件传播,很多企业选择在内网中禁用U盘,以控制数据的物理传输。小编这就来给大家总结一份详细指南!!关于企业内网如何禁用U盘的指南!!企业内网如何禁用U盘1.使用域智盾软件通过管理端下发策略至终端,终端......
  • 【禁用Windows Defender】Defender Control v2.1
    #简介DefenderControl是一款小型便携式免费软件,可以完全禁用Windows中的WindowsDefender。在特殊的情况的环境里会有不错的效果~提醒:使用前请了解你在干什么,否则请不要轻易使用!#软件截图#更新日志不同的阻塞方法一些代码改进#下载恭喜你发现宝藏站点哦,不妨点进......
  • 禁用windows自动更新
    系统设置只能短时间内展厅Windows更新,停止服务或者修改注册表重启之后还是会被系统改回,那就让魔法打败魔法吧,创建个开机任务自动禁用。schtasks/create/sconstart/tn"stopwindowsupdate"/tr"netstopwuauserv"schtasks/create/sconstart/tn"disabledwindowsup......
  • Centos7系统禁用Nouveau内核驱动程序【笔记】
    在CentOS系统中,Nouveau是开源的NVIDIA显卡驱动程序,但它与NVIDIA的官方驱动程序NVIDIAProprietaryDriver存在兼容性问题。如果你想要禁用Nouveau并使用NVIDIA官方驱动,可以按照以下步骤操作:1、创建一个黑名单文件以禁用Nouveau驱动。echo'blacklistnouveau'|sudote......
  • 单位企业是如何禁用USB接口的(公司禁止USB接口的三大方法)
    在当前信息化时代,单位企业对于数据安全的重视程度日益增加,尤其是防止通过USB接口导致的数据泄露和恶意软件传播。 为了构建一个更加安全的办公环境,许多企业采取措施禁用USB接口。以下是公司禁止USB接口的三大常用方法:1.部署专业终端安全管理软件对于追求更高效和精细......
  • uniapp打包Android跟iOS禁用录屏截屏
    1.禁用截屏和录屏的目的保护敏感信息:防止用户截屏或录屏分享应用中的敏感信息,如个人隐私数据、金融信息、商业机密等。版权保护:保护应用中的版权内容,如视频、图片、文本内容,防止未经授权的复制和传播。数据安全:防止恶意用户利用截屏或录屏功能进行信息盗取,增加应用的数据......
  • Android 10.0 Launcher3禁用widget微件功能实现
    1.前言在10.0的系统rom定制化开发中,在一些Launcher3的定制化功能中,有些产品禁用appwidget微件功能,要求Launcher去掉加载widget微件功能,接下来具体分析下widget微件的加载流程2.Launcher3禁用widget微件功能实现的核心类packages/apps/Launcher3/src/com/android/launcher3/......