2012-01-13 25 views
27

¿Hay alguna manera de desactivar todas las advertencias de Resharper para un archivo o sección de código con un solo comentario? Intento crear algunos ejercicios de codificación para entrevistar a posibles candidatos, y las advertencias de Resharper revelan el problema que quiero que el candidato detecte: P La supresión de la advertencia específica aún hace que sea obvio cuál es el problema.Deshabilitar todas las advertencias de Resharper con un comentario

Todavía quiero tener Resharper disponible durante la entrevista, solo quiero que el candidato detecte este problema sin que Resharper arruine la diversión.

editar: Lo siento, trataré de ser más claro sobre lo que busco. No quiero desactivar permanentemente una advertencia particular de Resharper, solo quiero que no se muestre en un archivo en particular, porque el objetivo del ejercicio es ver si el desarrollador comprende el motivo de la advertencia.

Por poner un ejemplo, hay una advertencia de Resharper para usar el método .Any de extensión en lugar de Count()> 0, que quiero que el desarrollador señale por sí mismo. Para deshabilitar esa advertencia, debe usar un comentario de:

// ReSharper disable UseMethodAny.0 

alrededor del código. Ese tipo de da un poco el juego un poco.

Yo estaba tratando de encontrar algo como:

// ReSharper disable all 

que podía colocar en la parte superior de la clase, por lo que no regalará lo que yo quiero el desarrollador de encontrar. Pero parece que no puedo encontrar una manera de hacerlo. Usar números para las advertencias de Resharper estaría bien también, pero no creo que funcione de esa manera.

+7

En realidad, incluso si uno pone todo en la parte superior como números? Si pones algo como '#pragma warning disable 1573' en la parte superior del archivo y la persona reconoce inmediatamente qué significa 1573 warning - simplemente contrata in situ :) –

+0

Gracias por la sugerencia de Alexei, pero estoy hablando de las advertencias de Resharper, no advertencias del compilador de C# –

+1

En ReSharper, seleccione "desactivar con pragma" del objeto de la bombilla junto a advertencia/error (o algo así - no lo tengo a mano) y usará esa sintaxis. Mueva todo a la parte superior, agregue un par adicional y nadie podrá usarlos como pistas. –

Respuesta

32

De acuerdo con this blog post en el blog JetBrains, en ReSharper 8 habrá un solo comentario que puede desactivar el reafilamiento en un archivo.

Será

// ReSharper disable All 

Nota: El "todos" es entre mayúsculas y minúsculas, el resto no lo es.

+2

Todo lo que necesitaba era un estuche de camello para que funcionara para mí. – sellotape

+2

Y, si desea desactivar solo un archivo o sección, coloque "// ReSharper Disable All" al principio y "// ReSharper Restore All" al final del archivo/sección. (funciona en ReSharper 8+) – vpalmu

+1

Esto funcionó para mí para suprimir las advertencias R # incorporadas, pero no funcionó para mis "Patrones personalizados" –

2
+1

Derecha. La mejor manera en este caso es presionar * Alt + Enter * de pie en un resalte que no desea que se muestre, seleccione * Opciones de inspección *, y elija * No mostrar *. Esto haría que ReSharper ignore esto y todos los códigos similares emitan – gorohoroh

+0

esta es una de las opciones que se muestran en el artículo que publiqué: .... Presione Alt + Intro para abrir una lista desplegable con una solución rápida que usted me gusta cambiar la severidad de la inspección ... –

+0

Gracias por la sugerencia chicos, pero esperaba encontrar una forma de desactivar todas las advertencias en un archivo en particular - Quiero que R # continúe dándome estas advertencias normalmente, solo quiero para suprimirlos para este archivo, sin que sea obvio cuáles suprimo. –

41

Nial, puede pulsar Ctrl + Shift + Alt + 8 para desactivar el análisis y highligtings en el archivo actual.

+1

Esta debería ser la respuesta aceptada ya que esto suprimirá todos los análisis R # en el archivo actual. Puede ver si el análisis R # está desactivado mirando la parte superior de la barra de desplazamiento del archivo (cuando está abierto); el cuadrado R # será gris en lugar de verde/amarillo/rojo. –

2

Puede añadir el archivo a la lista de "código generado" en ReSharpers opciones de menú:

Options > CodeInspection > Generated Code 
4

Los siguientes trabajó para mí.

  • Añadir "No ReSharper" a Regiones código generado en I # -> Opciones -> Inspección de código -> código generado
  • Utilice la siguiente para suprimir las advertencias:

    #region No Resharper 
    
    // All R# warnings are suppressed here 
    
    #endregion 
    
2

También podría usar el SuppressMessageAttribute con ReSharper como categoría y todos a s el checkId en el método o la clase como se muestra a continuación. Esto es más detallado que deshabilitar todo en el archivo si necesita un control detallado.

probado con Visual Studio 2015 Update 3 y ReSharper último 10.0.2

[SuppressMessage("ReSharper", "All")] 
private void MethodWithMultipleIssues() 
{ 
    TestClass instance = null; 
    // You would get an "Expression is always true" message 
    if (instance == null) 
    { 
     Debug.WriteLine("Handle null"); 
    } 
    else 
    { 
     // You would get an "Code is unreachable" message 
     Debug.WriteLine("Handle instance"); 
    } 
} 
Cuestiones relacionadas