2015-05-15 10 views
7

Wenn Code Refactoring (z.B .: Umgestalten ->Rename), IntelliJ IDEA 14.x Text automatisch umgebrochen auch (reformats) mein Code in die 80-Säule Grenze zu passen.Wie verhindere ich, dass IDEA beim Refactoring meinen Code neu formatiert?

Beispiel: hier ist der Code vor dem Refactoring: enter image description here

Refactoring in progress: enter image description here

... und der Code wird wieder eingepackt, wenn ich Enter drücken: enter image description here

Was am meisten nervt, ist, dass sogar Java-Klassen, die derzeit nicht im Editor geöffnet sind (aber vom Refactoring betroffen sind), neu formatiert werden, was die Chance, dass Forma entsteht, erhöht Änderungen werden unbemerkt in mein VCS übertragen.

Was will ich erreichen ist:

  • halten den ursprünglichen Druckrand bei 80 Spalten, aber immer noch
  • hat IDEA meine ursprüngliche Formatierung beibehalten, wenn Variablen/Klassen/Methoden umbenennen.

Wie erreiche ich das?

+2

Ich habe dieses Problem nie selbst bemerkt. Ich frage mich ob etwas unter Einstellungen-> Editor-> Code Style-> Java-> Wrapping and Braces dein Problem sein könnte? – Travis

+0

Diese Einstellungen sollten nur die * manuelle * Formatierung betreffen (d. H. Die über * Code * -> * Reformat Code ... * aufgerufen wird). Worüber ich spreche, ist die implizite Neuformatierung - es ist nicht so, dass "Formatierung sich falsch verhält": Stattdessen sollte niemals eine Formatierung stattfinden. – Bass

+0

https://www.jetbrains.com/idea/webhelp10.5/wrapping-and-braces.html –

Antwort

0

Da ich keine automatische Formatierung verwende und meine langen Zeilen hauptsächlich manuell umgebe, habe ich eine andere Lösung gefunden.

Unter "Datei -> Einstellungen -> Editor -> Code-Style -> Java -> Wrapping und Zahnspange", ich habe ganz deaktiviert die automatische Verpackung (dh alles gesetzt "Wickel nicht" gegebenenfalls , außer für Klassen-, Methoden- und Feldkommentare, die standardmäßig auf "Wrap always" festgelegt sind.

Der Nachteil dieses Ansatzes ist, dass jetzt IDEA manchmal langen Leitungen während Refactoring auspackt, aber die sind leichter zu erkennen.

0

Wenn Sie eine tatsächliche tun „Refactoring -> Umbenennen“, zum Beispiel mit SHIFT + F6 Sie jede Datei bearbeiten, die einen Verweis auf die Variable Namen hat, ob sie derzeit offen sind, in Der Editor ist irrelevant, wenn Sie etwas ändern, werden alle betroffenen Dateien bearbeitet und jedes VCS betrachtet sie als geändert.

Das Verhalten der Neuformatierung der gesamten Datei beim Refactoring ist in Idea eine lange Zeit gewesen und alle Fehler, die gegen dieses Verhalten abgelegt wurden, wurden in einem nicht zugewiesenen Zustand für immer eingestellt. Here is one example.

Ich bezweifle, dass dieses Verhalten wird sich ändern, ich für eine Hoffnung es nicht tut.

Wenn Sie lächerlich lange Variablennamen wollen, dann müssen Sie entweder den rechten Rand abschalten oder ihn lächerlich lang machen. Oder ändern Sie die Konfiguration, die dazu führt, dass Dinge anders formatiert werden.

Persönlich habe ich alle relevanten Dinge zu ALWAYS was auch immer, so habe ich nicht etwas formatiert, eine Art und etwas formatiert eine andere Art und Weise. Konsistenz ist wichtiger als alles andere in einer großen Codebasis.

Die VCS-Tools in Idea sind extrem leistungsfähig und unübertroffen in jeder anderen IDE. Sie können leicht sehen, was sich geändert hat und sie von irgendwelchen Commits ausschließen oder sie wie gewünscht korrigieren.

Idea hat ein Format auf Commit Kontrollkästchen für alle verschiedenen Versionskontrollsysteme, die es auch unterstützt.

+0

Danke. Weder Eclipse noch IDEA erzwingen irgendeine "Format beim Speichern" -Richtlinie, und ich habe nur sehr selten eine VCS-Richtlinie "Reformat bei Festschreibung" gesehen. Dieses bedingungslose Verhalten bedeutet also weniger Freiheit für Entwickler und ist, gelinde gesagt, seltsam. Wenn eine lange Linie den Druckrand nur geringfügig überschreitet, würde ich es lieber unverpackt haben. – Bass

Verwandte Themen