Il titolo copre tutto. Mi piacerebbe che le classi che implementano IDisposable si presentino in un colore specifico, così posso sapere se dovrei includerle in un blocco usando. Esiste un'impostazione o un processo mediante il quale è possibile estendere l'IDE?Come posso rendere tutte le classi IDisposable colorate in modo diverso nell'IDE di Visual Studio?
Come posso rendere tutte le classi IDisposable colorate in modo diverso nell'IDE di Visual Studio?
risposta
E 'certamente possibile farlo anche se non è così semplice come la modifica di un'impostazione. Avresti bisogno di scrivere un addin di Visual Studio per realizzare questo.
Visita http://msdn.microsoft.com/en-us/vsx/bb980955.aspx per iniziare. Come altri faranno notare. Non è per i deboli di cuore.
Ecco un link che può puntare verso quello che stai cercando: http://msdn.microsoft.com/en-us/library/bb166778.aspx
Non è possibile. Ciò richiederebbe il supporto del servizio linguistico e né C# né VB.Net forniscono questa funzionalità.
Impossibile è probabilmente troppo forte di una parola. È certamente possibile farlo con un componente aggiuntivo che esegue un'analisi approfondita del codice e calcola le gerarchie. Comunque è un compito non banale.
Certo, v'è un ampio set di strumenti per costruire estensioni VS, see Visual Studio 2008 SDK 1.1 Ma il tempo necessario per costruire una tale componente aggiuntivo verrà richiedere più tempo che passerete navigando componenti e determinare se sono usa e getta o no
non sono sicuro, se FxCop o StyleCop può fare questo già. Ma poi, sarà un suggerimento/avvertimento post-compilazione.
ReSharper suggerisce questo, immagino.
La parola sulla strada è questo genere di cose sarà be much easier in VS.NET 2010. L'editor è stato riscritto in WPF.
Forse sono una persona cattiva per fare questo, ma ho usato questo pezzo di codice di recente:
public static void BulkDispose(object[] objects)
{
foreach (object o in objects)
{
if (o != null)
{
if (o is IDisposable)
{
IDisposable disposable = o as IDisposable;
disposable.Dispose();
}
}
}
}
Non è insolito per Dispose lanciare eccezioni ("già disposte"), quindi è consigliabile che ciascuna chiamata di disposi sia racchiusa in un try/catch. –
Disponi shoud * mai * lancia a causa di più chiamate. Se lo fa, il componente in questione non è conforme al contratto IDisposable. Vedere https://msdn.microsoft.com/en-us/library/system.idisposable.dispose.aspx in Note: "L'oggetto non deve generare un'eccezione se il suo metodo Dispose viene chiamato più volte." – bernhof
Presumo che ciò diventerà più facile/senza estensione, una volta Roslyn esce, ma questo non è al momento facile perché non è possibile accedere facilmente al codice come C# da un'estensione.
In Resharper è facile, però! Il mio esempio è stato testato in ReSharper 9.0. Purtroppo, non c'è un modo semplice per darti questo.
- ReSharper -> Opzioni -> Codice di ispezione -> Modelli personalizzati -> Aggiungi, dialogo popsup
- Select C# (in alto a sinistra)
- Selezionare "Trova" (in alto a destra)
- Aggiungere il modello di severità
new $disp$($args$)
- modello: Mostri come suggerimento
- Descrizione: costruzione monouso
- "Aggiungi segnaposto" di tipo: tipo, nome:
disp
, digitare: Sistema.IDisposable - "Aggiungi segnaposto" di tipo: Argomenti, nome:
args
Save e avrete ora ottenere un "suggerimento" ogni volta che una nuova e getta è in costruzione.
Aggiungere il modello $disp$ $var$ = $exp$;
potrebbe anche essere utile. Tutto ciò che è uguale a exp è definito come un'espressione.
- 1. Come comprimere tutte le classi che delinea in Visual Studio
- 2. Come trovare tutte le classi che implementano IDisposable?
- 3. Collegamento a tutte le variabili $ Visual Studio
- 4. Come posso rendere la compilazione di Visual Studio molto dettagliata?
- 5. Ricerca di tutte le classi che ereditano un'interfaccia in Visual Studio
- 6. Esecuzione di test come utente diverso in Visual Studio
- 7. Come posso estrarre tutte le classi in un file separato?
- 8. Ricerca di discendenti di classi in Visual Studio 2010
- 9. Rendere la configurazione disponibile per tutte le classi
- 10. Posso ricolorare Visual Studio 11?
- 11. Nascondi tutte le barre degli strumenti di Visual Studio?
- 12. Come posso elencare tutte le classi caricate in un caricatore di classi specifico
- 13. C# Stringa e stringa. Perché Visual Studio le tratta in modo diverso?
- 14. Visual Studio colore diverso per costanti, nomi di funzioni, ecc.?
- 15. Devo implementare IDisposable su tutte le classi o è sufficiente una classe base?
- 16. Rendere globali tutte le variabili
- 17. Vedere tutte le classi super-in Java
- 18. Come selezionare tutte le pseudo-classi in CSS?
- 19. Auto-sync Visualizzazione classi di Visual Studio
- 20. Ottenere tutte le Classi estesi in PHP
- 21. Nelle proprietà del progetto di Visual Studio, come rendere "Tutte le configurazioni" selezionate per impostazione predefinita anziché "Attiva"
- 22. Come rendere l'inizializzazione del dizionario in formato Visual Studio?
- 23. Ottenere Elenco di tutte le classi native
- 24. Come rendere Visual Studio non inserito {su una nuova riga?
- 25. Visual Studio 2010 Professional: strumento diagramma classi
- 26. Come rendere sequenziali tutte le chiamate AJAX?
- 27. come eseguire Visual Studio, senza plug-in e tutte le funzionalità di terze parti
- 28. Nascondere le regioni in Visual Studio
- 29. Posso monitorare solo le mie attività TODO in Visual Studio?
- 30. riferimenti di rvalue in Visual Studio 2010
buoni punti. ecco un altro buon link http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.textmanager.interop.ivshicoloritem.aspx –
Ho usato per programmare oggetti COM ATL. Non sono debole di cuore. – quillbreaker