Esiste uno strumento simile al lint per C#? Ho il compilatore per contrassegnare avvertimenti-come-errori, e ho Stylecop, ma questi catturano solo gli errori più eclatanti. Ci sono altri strumenti indispensabili (specialmente per i novizi come me) che indicano cose probabilmente stupide che sto facendo?Lint for C#
risposta
Provato FxCop? E 'integrato in VS come "analisi del codice"
Nelle versioni più recenti di Visual Studio, si parla di "Analisi Microsoft Code" e può essere scaricato dal Visual Studio Mercato: https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.MicrosoftCodeAnalysis2017
Resharper esegue un bel po' di analisi statica oltre a fare un sacco di altre cose utili. Poiché l'analisi version 8.0 può essere eseguita in modalità riga di comando. Attualmente non vorrei scrivere in C# senza di esso.
Così come FxCop, Gendarme è un altro strumento da osservare (è la versione di Mono di FxCop ma sono diversi nell'approccio e gli errori che effettivamente trovano).
Gendarme for Mono è simile a FxCop
Si può provare NET Reflector da Red-Gate, è possibile ottenere da here. Molti plugin utili per .Net Reflector sono disponibili su CodePlex che è possibile ottenere da here.
io uso Reflector tutto il tempo, ma AFAICT è solo per ispezionare il codice compilato. C'è qualche modulo "mostrami il mio stupido errore" che mi manca? – Ken
Buon signore si. Non so cosa devi fare per accenderlo (più come, cosa hai fatto per spegnerlo), ma scavare per questo, è fantastico. –
ora che Reflector è un prodotto commerciale, ILSpy è una buona alternativa open source ... almeno per ispezione e smontaggio, non ho idea se abbia lo stesso tipo di strumenti di analisi – yoyo
Questa domanda ha già una risposta, ma per riferimento ...
si può provare PVS-Studio. Questo non è gratuito, ma, IMHO, deve averne uno. citazione dal loro sito:
PVS-Studio è uno strumento utilizzato per rilevare i bug nel codice sorgente dei programmi scritti in C, C++ e C#.
PVS-Studio esegue analisi del codice statico e genera un rapporto che aiuta un programmatore a trovare e correggere i bug. PVS-Studio esegue una vasta gamma di controlli del codice; ma è particolarmente utile per cercare errori di stampa e errori di copia-incolla.
L'analizzatore è progettato per gli sviluppatori che utilizzano Visual Studio.
Invece di postare link come risposta aggiungi del testo per spiegare come questa risposta aiuti OP nel risolvere il problema corrente. Grazie –
SonarLint (gratuito, open source) è piuttosto dolce!
SonarLint per Visual Studio si basa su e beneficia del compilatore .NET Platform ("Roslyn") e la sua analisi del codice API per fornire un'esperienza utente completamente integrato in Visual Studio 2015. SonarLint è gratuito, open fonte e disponibile nella Raccolta di Visual Studio.
CSharp-Lint https://github.com/kevinphelps/csharp-lint è un linter CLI che utilizza Roslyn e StyleCop. Non è aggiornato, ma sono stato in grado di modificarlo per farlo funzionare con Vim Syntastic.
- 1. Lint for ColdFusion
- 2. PC Lint while (TRUE) vs for (;;)
- 3. Lint per Objective-C?
- 4. Wait for Workbook.RefreshAll() (C#)
- 5. C#: N Cicli For
- 6. C# strozzamento ciclo For
- 7. Cosa fa "for (;;)" in C#?
- 8. C++ Memory Barriers for Atomics
- 9. for (;;) vs. for (:) in Objective-C Prestazioni e pratica
- 10. errore Lint sul Okio
- 11. Controlli API Android Eclipse Lint
- 12. Kotlin and android lint assegni
- 13. Lint di Android Avvertenza SharedPreferences.Editor.apply()
- 14. Empty for loop - for (;;)
- 15. Ritardo nel ciclo For in C#
- 16. C Pointer for Struct - Segmentation fault
- 17. C++ for-loop - size_type vs. size_t
- 18. C++ Dichiarare int nel ciclo for
- 19. Template -ing un ciclo 'for' in C++?
- 20. Conversazione Lync/Skype for Business in C#
- 21. Uso di "for (;;)" in un'applicazione C#?
- 22. Simboli indefiniti "vtable for ..." e "typeinfo for ..."?
- 23. Qual è la differenza tra "pod spec lint" e "pod lib lint"?
- 24. Come risolvere gli errori di Lint Rack?
- 25. Come si crea un Clojure Lint?
- 26. Avendo scss-lint ignora una linea specifica
- 27. Angular-CLI Serve with Lint Watch
- 28. Android Lint: ignora i progetti di libreria
- 29. Visualizzazione di Android Lint in Jenkins
- 30. Allow for Range-Based For con classi enum?
Non uso VS ma visto che hai ottenuto 4 upvotes in 17 minuti probabilmente merita una prova. Installandolo ora, grazie! – Ken
Funziona anche senza VS. Ma VS è un ottimo strumento per lo sviluppo .NET. –
Penso che sarebbe piuttosto difficile convincermi che VS (che ho provato, e non mi è piaciuto) sia migliore di Emacs + 15 anni di personalizzazioni. Probabilmente sarebbe più facile convincermi a cambiare i layout della tastiera! – Ken