Ho creato un paio di analizzatori diagnostici e correzioni di codice. Tutti lavorano nell'alveare sperimentale come previsto.Analizzatore funzionante ma scompaiono le potenziali correzioni del codice
Li compongo come pacchetto Nuget
e aggiungo a un progetto in un'istanza normale di VS2015
. Stranamente uno dei combo analizzatore/codice-correzione funziona correttamente, ma per l'altro solo l'analizzatore funziona e non vengono suggerite correzioni di codice (come accennato funziona nell'hive sperimentale).
La mia domanda è, come posso analizzare questo problema? Non c'è nulla in ActivityLog.xml. Qualcun altro ha osservato questo comportamento?
UPDATE: Ho provato a utilizzare l'estensione VS vsix in un'istanza normale e la correzione del codice è apparsa correttamente. Ho chiuso il file e riaperto e la correzione del codice non era più disponibile. Non importa quante volte chiudo e riapri il file, la correzione del codice non ritorna. Ma poi apro un altro file che contiene una diversa diagnostica e correzione del codice, e questo in qualche modo avvia l'altra correzione del codice, perché posso ottenere in modo affidabile la correzione del codice facendo ciò!
Questo potrebbe sembrare ridicolo, ma penso di averlo osservato con altri analizzatori di terze parti. Forse c'è un problema con la mia installazione di VS?
Roslyn codice sorgente è [su GitHub] (https://github.com/dotnet/roslyn). Gli analizzatori devono essere attivati da lì in qualche modo (presumibilmente è il [AnalyzerDriver] (https://github.com/dotnet/roslyn/blob/a4e375b95953e471660e9686a46893c97db70b0e/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerDriver.cs). [debug Roslyn] (https://github.com/dotnet/roslyn/wiki/Building-Testing-and-Debugging) a fianco degli analizzatori per capire perché non funziona. –
Sto vedendo la stessa identica cosa su VS 2017 RTM sul progetto di analisi del codice di default, che verifica la presenza di caratteri minuscoli nei simboli di tipo.Alla volta la correzione del codice funziona, a volte no.Mostra la lampadina di correzione del codice, ma quando faccio clic, scompare invece di mostrare l'elenco delle correzioni del codice Provato a eseguire sia F5 (VSIX) sia installando il nuget che crea. Non ho ancora trovato un modo affidabile per correggere questo comportamento e sembra un bug in Roslyn o forse in Visual Studio. – angularsen