2010-05-16 6 views
26

Ich versuche, das automatische Schließen von Klammern in Eclipse zu deaktivieren, und obwohl ich größtenteils erfolgreich war, kann ich den Editor nicht daran hindern, eine schließende Klammer für ein Methodenaufruf. Das Ergebnis ist, dass, wenn ich schreibe:Die automatische Klammerung von Methoden-Klammern in Eclipse kann nicht deaktiviert werden

myBool.equals(true); 

es eine schließende Klammer fügt, sobald ich die öffnende Klammer eingeben, und was ich eigentlich ist:

myBool.equals(true);) 

Ich habe alle Behinderte Auto-Vervollständigen Sie Optionen in den Einstellungen -> Java -> Editor -> Typing-Menü, sowie Einstellungen -> Java -> Editor -> Content Assist -> Füllen Sie Methodenargumente und zeigen Sie erratene Argumente an. Ich habe auch die intelligente Einfügemodusoption im Menü Bearbeiten deaktiviert. Gibt es eine andere Möglichkeit woanders, um Eclipse daran zu hindern, dies zu tun?

Dies ist mit Eclipse 3.5.2 (Build ID M20100211-1343), falls es darauf ankommt.

Bearbeitet um hinzuzufügen: Ich sollte auch erwähnen, dass dies nur passiert, wenn ich auf das "intellisense" Pop-up mit vorgeschlagenen Methodennamen nach der Eingabe der Periode zu warten. Wenn ich den Code nur fortlaufend eintippe, ohne auf die Anzeige des Vorschlagsfelds zu warten, wird die schließende Klammer nicht eingefügt.

Antwort

13

Ich weiß nicht, wie Sie die Methode Klammer automatische Vervollständigung deaktivieren - so bin ich mir nicht sicher, ob Sie mit meiner Antwort zufrieden sein werden. Aber zu vermeiden, mit

enden
myBool.equals(true);) 

können Sie tatsächlich ermöglichen(Parenthesis, [square] and <angle> brackets in den Einstellungen -> Java -> Editor -> Typing Menü. Dies fügt die Klammer automatisch ein (was Sie wahrscheinlich nicht wollen), aber Sie können einfach weiter normal schreiben, wie in einem Editor ohne "Intelligenz": Ihre schließende Klammer überschreibt einfach die automatisch eingefügte Klammer, also werden Sie nicht Am Ende mit .

+3

, dass der Trick - ich würde es immer noch vorziehen, es komplett auszuschalten, aber ich denke, das ist die beste Option für jetzt. Vielen Dank! –

+2

Ich habe nie verstanden, warum jemand das Zeug automatisch vervollständigen möchte ... irgendwie muss man bis zum Ende der Linie kommen, um hineinzugehen; oder Enter drücken, um die nächste Zeile zu machen. erwarten sie, dass du eine maus oder einen pfeil über dir nimmst? lols. – JDPeckham

+0

Es funktioniert immer noch nicht, wenn Sie dem Stil Leerzeichen innerhalb der Klammern hinzufügen (z. B. 'foo (vars)') - wenn Sie den erwarteten Platz eingeben, erhalten Sie einen zusätzlichen. Auch funktioniert nicht mit mehreren Argumenten. – dhardy

5

Wenn ich das Problem richtig verstehe, hier ist die Lösung! Ich hatte das gleiche Problem.

Hauptmenü | Fenster | Einstellungen | < Die Sprache, die Sie verwenden > | Editor | Eingeben

Deaktivieren Sie im Abschnitt "Automatisch schließen" die Optionen, die Sie nicht möchten.

Ich weiß nicht, ob diese Funktionalität neu ist. Ich habe gerade angefangen, Eclipse wieder zu benutzen und habe es noch nie benutzt.

Ich fand die Antwort auf diese stackoverflow page.

+2

Fyi, deine Antwort * verursacht * das Verhalten, das der Fragesteller nicht will. – djeikyb

2

Wie Sie bemerkt haben, passiert es nur, wenn Sie auf die Felder für die Vorschläge ("intellisense") warten.

Die "Lösung" ist die Deaktivierung von Vorschlägen unter einem oder beiden der folgenden Punkte, obwohl dies wahrscheinlich eine größere Hürde darstellt, weil Sie aufgeben werden.

Einstellungen -> Java -> Editor -> Content Assist -> "automatisch einzelne Vorschläge Einfügen"

Einstellungen -> Java -> Editor -> Content Assist -> Erweiterte

+0

nur Deaktivieren eines funktionierte nicht für mich. Nachdem beide deaktiviert wurden, funktionierte es. – TheTrowser