2012-01-13 19 views
27

C'è un modo per disabilitare tutti gli avvisi di Resharper per un file o una sezione di codice con un singolo commento? Sto cercando di creare alcuni esercizi di codifica per intervistare potenziali candidati, e gli avvertimenti di Resharper danno via il problema che voglio far individuare al candidato: P Sopprimere l'avviso specifico rende ancora evidente quale sia il problema.Disabilita tutti gli avvisi di Resharper con un commento

Voglio ancora avere Resharper disponibile durante l'intervista, voglio solo che il candidato identifichi questo problema senza Resharper che guasta il divertimento.

modifica: Scusa, cercherò di essere più chiaro su cosa sto cercando. Non voglio disabilitare permanentemente un avvertimento particolare di Resharper, voglio solo che non venga mostrato in un particolare file, perché il punto dell'esercitazione è vedere se lo sviluppatore comprende il motivo dell'avvertimento.

Per fornire un esempio, è disponibile un avviso di Resharper per utilizzare il metodo di estensione .Any anziché Count()> 0, che si desidera venga indicato dallo sviluppatore. Per disattivare tale avviso, è necessario utilizzare un commento di:

// ReSharper disable UseMethodAny.0 

in tutto il codice. Questo tipo di gioco dà via un po '.

stavo cercando di trovare qualcosa di simile:

// ReSharper disable all 

cui ho potuto mettere in cima alla classe, in modo da non dare via ciò che voglio lo sviluppatore da trovare. Ma non riesco a trovare un modo per farlo. Anche l'uso dei numeri per gli avvisi di Resharper andrebbe bene, ma non penso che funzioni in questo modo?

+7

In realtà, anche se si mettono tutti al top come numeri? Se metti qualcosa come "#pragma warning disable 1573' in cima al file e la persona riconosce immediatamente cosa significa 1573 warning - assumi solo sul posto :) –

+0

Grazie per il suggerimento Alexei, ma sto parlando degli avvertimenti di Resharper, non avvertenze dal compilatore C# –

+1

In ReSharper selezionare "disable with pragma" dal lightie thingie accanto a warning/error (o qualcosa del genere - non averlo a portata di mano) e userà questa sintassi. Sposta tutto verso l'alto, aggiungi un paio di extra e nessuno sarà in grado di usarli come suggerimenti. –

risposta

32

In base al numero this blog post sul blog JetBrains, in ReSharper 8 sarà presente un singolo commento che può disattivare il richiama in un file.

Sarà

// ReSharper disable All 

Nota: La "All" è case-sensitive, il resto non lo è.

+2

Tutti dovevano essere Camel-Case perché funzionasse per me. – sellotape

+2

E, se si desidera disabilitare solo un file o una sezione, inserire "// ReSharper Disabilita tutto" all'inizio e "// ReSharper Ripristina tutto" alla fine del file/della sezione. (funziona su ReSharper 8+) – vpalmu

+1

Questo ha funzionato per eliminare gli avvisi R # incorporati, ma non ha funzionato con i miei "Modelli personalizzati" –

2
+1

Giusto. In questo caso, il modo migliore è premere Alt + Invio * su un punto che non si desidera visualizzare, selezionare * Opzioni di controllo * e scegliere * Non mostrare *. Ciò farebbe sì che ReSharper ignori questo e tutti i problemi di codice simili – gorohoroh

+0

questa è un'opzione mostrata nell'articolo che ho postato: .... Premi Alt + Invio per aprire un elenco a discesa con una soluzione rapida per la quale dovresti Mi piace cambiare severità dell'ispezione ... –

+0

Grazie per il suggerimento ragazzi, ma speravo di trovare un modo per disabilitare tutti gli avvertimenti in un particolare file - Voglio R # per continuare a darmi questi avvertimenti normalmente, voglio solo per sopprimerli per questo unico file, senza rendere evidente quali quelli sto sopprimendo. –

41

Nial, è possibile premere Ctrl + Shift + Alt + 8 per disattivare analisi e highligtings nel file corrente.

+1

Questa dovrebbe essere la risposta accettata in quanto ciò sopprimerà tutte le analisi R # nel file corrente. Puoi sapere se l'analisi R # è disabilitata guardando la parte superiore della barra di scorrimento del file (quando è aperta); il quadrato R # sarà grigio invece che verde/giallo/rosso. –

2

È possibile aggiungere il file all'elenco di "codice generato" in ReSharpers Menu Opzioni:

Options > CodeInspection > Generated Code 
4

Di seguito ha lavorato per me.

  • Aggiungi "No ReSharper" alle Regioni codice generato nella R # -> Opzioni -> Codice di ispezione -> codice generato
  • utilizzare la seguente per sopprimere gli avvertimenti:

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

È inoltre possibile utilizzare il SuppressMessageAttribute con ReSharper come categoria e Tutti a s il checkId sul metodo o sulla classe come mostrato di seguito. Questo è più granulare che disabilitare tutto nel file se hai bisogno del controllo a grana fine.

testato con Visual Studio 2015 Update 3 e ReSharper ultimo 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"); 
    } 
} 
Problemi correlati