2011-01-06 5 views
8

so habe ich ein Endlager mit einer Methode wie folgt definiert:resharper intellisense Problem mit Erweiterungsmethoden

IQueryable<Customer> Customers{...} 

und anderswo eine Erweiterungsmethode der Kunden wie so zu filtern:

public static IQueryable<Customer> WithID(this IQueryable<Customer> customers, int ID){...} 

und dies Woks schön, lassen Sie mich das Repository wie folgt verwenden:

var c = repo.Customers().WithID(5).Single(); 

aber das Problem ist, ReShar pro vermasselt die Auto-Vervollständigung in dieser großen Zeit. Wenn ich

Typ
var c = repo.Customers().Wi 

ich nette Intellisense mir die withId (...) Methode zeigt, aber wenn ich nach unten, um es den Cursor und TAB schlagen, anstatt die withId bekommen() -Methode wie erwartet, geht es zurück und Änderungen Code bereits geschrieben und die Zeile endet suchen, anstatt wie:

var c = CustomerExtensions.WithID(repo.Customers()) 

die natürlich Blätter mit mir gehen zurück und geben es wieder, und diesmal IGNORE Intellisense - was meiner Meinung nach nie eine gute Sache ist:)

Ich habe bestätigt, dass es ein ReSharper Problem ist Gehen Sie in Optionen und geben Sie "Visual Studio" für Intellisense. Ich möchte nicht ins normale Studio zurückkehren!

Kann mir jemand helfen oder einen Workaround vorschlagen?

+0

Ich habe dieses Problem mit keiner unserer Erweiterungsmethoden. Welche Version von ReSharper verwenden Sie? –

+0

R # 5.1 VS 2010, Windows 7. Klassenbibliotheksprojekt in Framework 4.0. Hmmm .. das passiert all unseren Entwicklern hier, nicht nur mir. –

+0

Haben Sie eine Lösung gefunden? Dies passiert mir auch in einer Reihe von Situationen. – MatteS

Antwort

5

Das hat mich auch betroffen. Sieht aus wie es ein bekannter Fehler ist:

http://youtrack.jetbrains.net/issue/RSRP-274746

ReSharper Ausschalten -> Optionen -> IntelliSense -> Fertigstellung Verhalten -> "Automatische Klammern nach Abschluss einfügen" hilft.

+0

Das beseitigt den Fehler für mich, obwohl nicht die beste Lösung für das Problem wirklich. Sieht so aus, als ob der Bug in 6.0 behoben wurde, aber er ist zurück in 8. Scheint, als ob er ihn in 9.0 wieder repariert hat. Du musst also nur ein paar hundert Dollar (wieder) bezahlen, um das Problem zu beheben. 9.0 scheint immer noch mit den Erweiterungsmethoden zu kämpfen, aber anstatt den Aufruf zu ändern, öffnet er einfach nicht die Klammern und zieht stattdessen die nächste Zeile. Was sagen sie über Entwickler, die Fehler schreiben, um sich selbst zu beschäftigen? https://youtrack.jetbrains.com/issue/RSRP-426530 –

+0

Diese Einstellung aus- und wieder einschalten scheint es für mr behoben zu haben –

0

Sie können es als eine Erweiterungsmethode aufrufen, indem Sie Typvervollständigung (STRG + ALT + LEERTASTE) verwenden, und das wird den Fehler ordnungsgemäß umgehen.

Dieser Fehler tritt nur bei bestimmten Erweiterungsmethoden auf, weiß aber nicht warum.