2014-07-02 15 views
19

Poco prima di sospirare e contrassegnare questa domanda come un duplicato, posso dirvi che non lo è.Alternative al programma di ricerca

Ho visto un sacco di domande sulla sostituzione di Resharper con qualcos'altro, ma most di them sono fuori date. Mi piacerebbe ottenere nuovamente questa domanda sollevata in vista dell'attuale situazione nel mondo delle estensioni VS.

Ho usato R # per gli ultimi 2 anni e ho pagato dalla mia tasca per V7 e per l'aggiornamento a V8. Ma sempre più lo uso, sento che è una resistenza! Trascina le risorse della CPU e trascina cercando di combattere la cosa insanguinata. Visual Studio è terribilmente lento con abilitato. Uno dei progetti su cui lavoro ha linee di codice 230K e R # è molto lento lì!

Vorrei che il Resharper fosse modulare e che potessi disattivare molte delle sue funzioni.

ho cercato di produttività Power Tools e aggiungere un sacco di valore, ma non hanno funzionalità critiche che sto cercando

In ogni caso, la mia domanda è: che cosa le estensioni possono effettuare le seguenti operazioni:

  1. Nice test runner. Dove puoi fare clic con il tasto destro del mouse sul test e pronunciare Esegui. Corridore di test VS nativo è orribile.

  2. Refactoring. Alcuni refactoring sono presentati in VS in modo nativo, il che è bello, ma tutto ciò che è passato dopo aver estratto una variabile è inesistente. Rinominare è molto bello in R #, ma non l'ho mai visto implementato altrove.

So che questa domanda è un po 'fuori tema - chiedendo di raccomandare un prodotto. Ma la gente ha fatto domande simili qui, quindi ho deciso di chiedere pure.

risposta

44

Questa è una di quelle domande soggettive che vengono in genere chiuse rapidamente su StackOverflow, perché non c'è solo una risposta . Ecco la mia, e fornirò il tipico disclaimer: sono molto prevenuto nei confronti di ReSharper. Sono un grande fan di ReSharper, lo sto usando dalla v2.5, costruisco plugins for ReSharper e tengo tabulazioni molto strette su quello che sta succedendo a JetBrains, perché adoro questa compagnia!

Ammetto: le prestazioni di ReSharper sono qualcosa che si presenta con ogni singola versione, anno dopo anno. Indipendentemente dal lavoro svolto dal team di ReSharper per migliorare le prestazioni con ogni nuova versione, questo è vero: una volta installato ReSharper in Visual Studio, si avverte un notevole calo delle prestazioni: Visual Studio impiega un po 'più di tempo per avviarsi, in alcuni casi (raro) casi, la digitazione potrebbe essere più lenta e se si dispone di enormi file di codice (poche migliaia di righe), ReSharper soffocherà tentando di aprirli.

Detto questo, per il valore aggiuntivo ottenuto da ReSharper, assumerò le sue prestazioni generali in qualsiasi giorno! Non ci sono abbastanza parole per descrivere i benefici di essere così familiare con lo strumento, che ti sembra un assoluto uomo delle caverne senza di esso. Il mio dayjob sta sviluppando un Visual Studio debugging extension, e ogni volta che installo un Visual Studio pulito in una macchina virtuale per test, sono in fisica pain, perché VS vanilla manca di così tante caratteristiche che sembrano ovvie (pochi esempi: estrae (introduce) variabili/campi, metodi in linea, rinomina ovunque (come hai detto), per non parlare della navigazione verso tutti gli errori nella soluzione senza doverli ricompilare, e molti altri ancora).

Ho detto che sono di parte, ma proverò a rispondere alla tua domanda. Probabilmente hai sentito parlare di Roslyn. In caso contrario, Roslyn è il nome della next-gen .NET compiler platform su cui Microsoft ha lavorato negli ultimi anni. Questa nuova piattaforma fornisce API che consentiranno agli autori di estensioni di Visual Studio di creare strumenti diagnostici e refactoring/correzioni di codice molto simili a ReSharper. Così simile, infatti, che Microsoft ha appena preso la lampadina di ReSharper e l'ha messa in Visual Studio!

La prossima versione di Visual Studio (attualmente chiamata Visual Studio "14", che è in fase di anteprima) è interamente alimentata da Roslyn e viene fornita con alcune funzionalità di tipo "ReSharper", ad esempio i potenti rinomina (schermata di seguito) e altri diagnostica. L'SDK viene fornito con campioni, che ti consentono di creare i tuoi propri diagnostici e refactoring, utilizzando un'API ricca e moderna. Microsoft ha fatto un buon lavoro nel rendere tutte quelle cose accessibili agli sviluppatori "normali", quindi non devi essere un esperto di compilatori per costruirle da solo.

Dirò questo: i compilatori sono HARD. Non importa quanto sia buona l'API o la piattaforma, la quantità di lavoro richiesta per coprire tutte le casi d'angolo è folle. Ci sono voluti quasi 10 anni per ReSharper per ottenere dove sono oggi, in termini di funzionalità. Sarà almeno un altro più buono anni finché Visual Studio non raggiungerà (la maggior parte) di essi. Ci sono già free extensions che si basano su Roslyn, che introducono alcuni nuovi strumenti di diagnostica e refactoring.

In conclusione, credo che Roslyn fornirà un'alternativa sufficiente a ReSharper nel non così vicino futuro. Verranno create molte estensioni gratuite e sarai in grado di installare solo quelle che desideri. Un avvertimento sulle estensioni gratuite, proprio come tu stesso hai menzionato nella domanda: tendono a diventare obsolete e scompaiono. Non ci sarà nessuno a cui lamentarsi per i propri bug e problemi di prestazioni.

Modifica Lo stesso è vero, a proposito, per qualsiasi altra "alternativa ReSharper" commerciale, ecco perché non mi sono nemmeno preoccupato di menzionare altri strumenti. Tutti hanno sia pro che contro. Sta a te decidere cosa è sufficiente.

Spero che questo aiuti!

Roslyn Rename

+2

Questa è una risposta elaborata! Grazie per l'impegno! Sì, sono abbastanza consapevole di Roslyn e VS2014, ho installato VS2014 e ci ho giocato per un po '. E non mi sentivo come un uomo delle caverne, perché molte delle cose di R # erano originariamente in nuovo VS. Immagino che dovrò aggrapparmi fino a quando non verrà rilasciato VS2014 e quindi valutare quanto ho bisogno di R # lì. – trailmax