Wie navigiere ich durch den Quellcode nach Teilen in CamelCase (anstelle ganzer Wörter)?

251

Ich erinnere mich, als ich Eclipse verwendete, dass Eclipse, wenn ich STRG gedrückt hielt und linke oder rechte Pfeile verwendete, LongCamelCaseWrittenWordin mehreren Schritten darüber navigierte . Jeweils ein Kamelfallwort.

Es wird also wie folgt aussehen (Pipe |repräsentiert die tatsächliche Cursorposition):

|LongCamelCaseWrittenWord -> CTRL+RIGHT_ARROW ->
Long|CamelCaseWrittenWord -> CTRL+RIGHT_ARROW ->
LongCamel|CaseWrittenWord -> CTRL+RIGHT_ARROW ->
LongCamelCase|WrittenWord -> CTRL+RIGHT_ARROW ->
LongCamelCaseWritten|Word -> CTRL+RIGHT_ARROW ->
LongCamelCaseWrittenWord|

Gibt es eine Möglichkeit, dies in IntelliJ zu erreichen? Derzeit geht IntelliJ das ganze Wort auf einmal durch.

Verwenden von IntelliJ 9.0

Jan Zyka
quelle

Antworten:

389

Ja, aktivieren Sie "CamelHumps" -Wörter verwenden in Settings | Editor | General | Smart Keys.

CrazyCoder
quelle
15
CamelHumps lässt Strg + Rechts, Strg + Links durch Kamelbuckel springen. Wie kann ich noch beide Funktionen haben, dh durch Wörter und durch CamelHumps mit verschiedenen Tasten springen?
Mafonya
1
in der neuesten Idee ist der FlussSettings | Editor | General | Smart Keys
Jiri Kremser
48
Wie @mafonya in einer anderen Antwort erwähnt, kann das Verhalten beim Doppelklicken wiederhergestellt werden, indem die Einstellung "Ehren" CamelHumps "-Wörterinstellungen bei Auswahl per Doppelklick gesucht und deaktiviert wird.
Paul Lammertsma
9
Falls jemand anderes es verpasst hat, ist die Einstellung 'Ehre "CamelHumps" ...' inSettings | Editor | General
Carl G
Ich bin damit einverstanden, dass dies das Standardverhalten sein sollte. Für jeden, der von Eclipse kommt, ist dies wie vom ersten Tag an in unser Muskelgedächtnis eingebaut.
Pierre
45

Wie an anderer Stelle beantwortet, können Sie ermöglichen Use „CamelHumps“ Worte in Settings | Editor | General | Smart Keysden Verknüpfungen zu der Arbeit mit Camelcase statt Ganzwort zu wechseln.

Sie können auch auf das vorherige Verhalten zugreifen, indem Sie den entsprechenden Aktionen unter Tastaturkürzel zuweisen Settings | Appearance & Behavior | Keymap | Editor Actions. Dieses Bild zeigt ein Beispiel, in dem ich auf das vorherige Verhalten zugreife, indem ich Folgendes hinzufüge ctrl:

Keymap-Screenshot

Carl G.
quelle
4
Genial! Dies sollte das Standardverhalten in Intellij sein!
AndiDev
Danke dir! Dies ist perfekt. Ein Doppelklick macht das ganze Wort, aber Strg + Richtung verwendet Groß- und Kleinschreibung.
Brett
19

Sie können beide Funktionen gleichzeitig haben:

  1. Deaktivieren Sie unter "Einstellungen-> Editor-> Allgemein-> Smart Keys" "CamelHumps-Wörter verwenden".
  2. Erstellen Sie in "Keymap" Verknüpfungen für:
    • "Caret zum nächsten Wort bewegen"
    • "Caret in verschiedenen Kamelbuckel-Modi zum nächsten Wort bewegen"

Beachten Sie, dass diese Schritte IntelliJ 14 entsprechen, sodass sie in anderen Versionen möglicherweise geringfügig abweichen.

blue_note
quelle
Haben Sie aus Neugier beide abgebildet? Wenn ja, welche Kombination haben Sie gewählt?
Wählen Sie den
Ja, ich habe beide zugeordnet. Dies ist nützlich, wenn Sie lange Klassennamen haben. Im Allgemeinen möchten Sie nicht für jedes Programm unterschiedliche Verknüpfungen haben. Also habe ich ctrl+arrowfür ganze Wörter (das ist die Abkürzung, die überall verwendet wird ) und alt+arrowfür Camelhumps-Wörter (das ist der einzige verbleibende Modifikator, da die Verschiebung in jedem Programm zur Auswahl verwendet wird) verwendet
blue_note
Ich habe das neu zugeordnet ctrl+PgUp/PgDnund Ctrl+(shift)+Tab, da es in allen Browsern und den meisten Programmen verwendet wird, ist es bereits in meinem Muskelgedächtnis.
blue_note
Ich möchte alt+arrowmich mit ganzen Wörtern bewegen und ctrl+arrowmit dem Kamelbuckel navigieren. (Dies ist das Standardverhalten in Xcode, das mein "Muskelgedächtnis" ist.) Ich versuche dies mithilfe der IntelliJ-Einstellungen zu tun, kann mich jedoch nicht einfach ctrl+{anything}registrieren. ctrl+alt+{something}scheint zu funktionieren alt+{something}, aber nicht ctrl+{something}. Ich bin auf einem Mac. Meine aktuelle Keymap ist Mac OS X 10.5+. Irgendwelche Vorschläge?
mbm29414
@ mbm29414: funktioniert gut für mich auf Macos. auch wenn es schon etwas anderem zugeordnet ist. Vielleicht ist es eine Einstellung außerhalb von Intellij
Blue_note