2013-12-11 3 views
27

Wenn ich Auto-Format mit ReSharper STRG + ALT + SHIFT + F für die Leitungen länger als die Länge max Linie (in meinem Fall sagen, dass es 80 Zeichen sind), ich folgendes erhalten:Wie stoppe ich Resharper nach Zeilenumbrüchen für lange Zeilen?

return 
     View(new ViewModel 
     { 
      Identifier = identifier, 
      Files = service.AllFiles() 
     }); 

Aber was will ich wirklich ist es nicht nach der „Rückkehr“ Schlüsselwort zu umwickeln (dh nicht das Schlüsselwort return auf eigenen alle auf einer Linie hat), etwa so:

return View(new ViewModel 
    { 
     Identifier = identifier, 
     Files = service.AllFiles() 
    }); 

weiß jemand, wie man „konfigurieren“ ReSharper, dies zu machen geschehen? :)

Hier ist ein weiteres Beispiel, hier ist, was ich jetzt sehen:

return 
     repository.Session.CreateCriteria(typeof(SomeType)) 
        .Add(Expression.Eq("Identifier", identifier)) 
        .UniqueResult<SomeType>(); 

Wenn ich sehe wirklich wollen:

return repository.Session.CreateCriteria(typeof(SomeType)) 
        .Add(Expression.Eq("Identifier", identifier)) 
        .UniqueResult<SomeType>(); 

UPDATE:

Hier ist " hacken immer ":

return View(new OrganisationFileLoadViewModel 
    { 
     Identifier = identifier, 
     AllExistingOrganisationFiles = nmdsOrganisationFileLoadService.AllNMDSOrganisationFiles() 
    }); 

Hier wird "wenn lange hacken":

return 
     View(new OrganisationFileLoadViewModel 
     { 
      Identifier = identifier, 
      AllExistingOrganisationFiles = nmdsOrganisationFileLoadService.AllNMDSOrganisationFiles() 
     }); 
+0

Haben Sie diesen Fehler bei JetBrains gemeldet? –

+0

Ich bin froh, wenn es definitiv ein Fehler ist und nicht nur eine Einstellung, die ich falsch habe ...? –

+1

Es ist definitiv ein Fehler. –

Antwort

34

Resharper -> Options -> (Code Editing) C# -> Formatting Style -> Line Breaks and Wrapping

viele Einstellungen für den Zeilenumbruch Es gibt keine. Der Standardwert für Wrap long lines ist normalerweise 120 Zeichen. Dies kann Ihren Break auslösen, da Sie auf 80 eingestellt sind oder Resharper 8.0 möglicherweise eine neuere Option für die Rückgabe hat. Der obige Pfad ist für 7.0, aber ich glaube, es ist das gleiche oder zumindest ähnlich wie 8.0.

Das Schöne ist, dass sie Ihnen Beispiele für die Änderungen zeigen, die Sie machen, damit Sie es nicht sofort testen müssen.

+1

Ich suche nach einer Option, um R # zu stoppen, das Schlüsselwort "return" zu setzen auf einer eigenen Zeile (wie in meinem Beispiel oben gezeigt). Ich kann diese Option in dem Abschnitt, auf den Sie sich beziehen, nicht finden. –

+1

Dadurch wird das Problem weniger wahrscheinlich erscheinen. Es repariert es nicht. Ich habe ReSharper eingestellt, um nach 120 Zeichen zu brechen, aber sehr lange Zeilen brechen immer noch in unbeholfenen Orten. – siride

+0

Auch ich bin mit 150 Zeichen (passt auf meine 1920x1200 Bildschirm mit großen Schrift gut), aber natürlich bekomme ich immer noch gelegentlich wickeln und ich finde manuell Zwischenvariablen einfügen, nur um die Verpackung "gunk" in R # zu vermeiden, Das ist einfach schrecklich und ich hasse mich selbst dafür ... –

2

Es gibt keine spezielle Option, um "Wrapping after Return" auszuschalten.

1) Ich konnte keine ähnliche Code-Formatierung wie im ersten Code-Snippet wiedergeben. Ich empfehle Ihnen jedoch, diese Einstellung auf "Einfacher Wrap" zu ändern: ReSharper | Options | Code Editing | C# | Formatting Style | Line Breaks and Wrapping | Line Wrapping | Wrap invocation arguments.

2) In meinem Fall hilft mir die folgende Änderung: ReSharper | Options | Code Editing | C# | Formatting Style | Line Breaks and Wrapping | Line Wrapping | Wrap chained method calls | Select "Chop always".

+0

Ich habe sie alle in "Simple Wrap" geändert, was die Pause nach der Rückkehr nicht behoben hat ... –

+0

Dann habe ich auch alle wieder auf "chop if long" geändert, das hilft auch nicht (Rückkehr ist immer noch auf einer Linie für sich). –

+0

Wenn ich dann zu "hacken immer" gehe, bekomme ich das richtige Verhalten (d. H. Es bringt nicht die Rückkehr auf eine Zeile für sich)! #WINNING, aber dann sieht mein Code schrecklich aus, da er _always_ zerhackt, was einen kleinen verketteten Methodenaufruf oder Objekt-/Sammlungsinitialisierer (dh sollte in eine Zeile passen) macht, 3-4 Zeilen unnötigerweise aufnehmen ... –