2016-03-22 12 views
2

Ich möchte die IntelliJ-Funktion verwenden, die Java-Code in Kotlin konvertiert, indem Sie einfach von Java-Datei in Kotlin-Datei kopieren. Es funktioniert gut, aber wenn ich das IdeaVim Plugin einschalte, weigert es sich zu arbeiten. Ich kenne Vim anständig und das ist nicht das Problem mit meinen missverständlichen Vim Editiermodi. Ich bin mir bewusst, How can I convert a part of Java source file to Kotlin? und Antwort von @Yole sagen, dass es kein anderes Tool, das zu tun ist.IntelliJs IdeaVim-Plugin deaktiviert Konvertieren von Java nach Kotlin

Aber diese Antwort wurde vor 3 Monaten gemacht, und vielleicht erschien ein anderes Tool. Meine Frage ist also, ob jemand eine Problemumgehung gefunden hat, damit das IdeaVim-Plugin mit der Konvertierung von Kotlin nach Java funktioniert. Ich habe bereits ein Ticket auf YouTrack gemacht: https://youtrack.jetbrains.com/issue/VIM-1103 aber ehrlich gesagt bin ich nicht so sicher, ob es gelöst wird.

Antwort

1

Ok, mein Mann von JetBrains hat mein Problem beantwortet. Die offensichtliche Problemumgehung (die ich nicht herausgefunden habe) ist Kopieren und Einfügen aus dem Kontextmenü. Dann zeigt sich die Umwandlungsfrage. IMO scheint es unwahrscheinlich, dass IdeaVim Plugin diese Funktion durch zerren und setzen (Vims Kopieren und Einfügen), wie aus unterstützen:

Laufende IDE Aktionen auf dem Kopieren und Einfügen könnte eine gute Idee sein, aber wir sind nicht sicher, Es würde den Workflow der aktuellen Benutzer nicht stören.

+0

Wie ich oben geschrieben habe: Ordne die "EditorPast" -Aktion auf deine bevorzugte Verknüpfung zu oder lass IDEA die '' Verknüpfung bearbeiten. – Peter

+0

Aber hat nicht funktioniert, weil Vim-Plugin irgendwie überschneidet Einfügen und typische Vim Verknüpfung 'p' fügt Text, ich kann versuchen, 'EditorPaste' neu zuordnen. – koto

+0

Siehe meine letzte Änderung. Es gibt eine Einstellung um festzulegen, welcher Handler eine bestimmte Aktion behandeln soll. – Peter

1

Das vim-Plugin übernimmt die Zwischenablage und vergangene Funktionen. Wenn Sie :actionlist eingeben, erhalten Sie eine Liste von Ideenaktionen, die Sie in Ihrer .ideavimrc-Datei verwenden können, um Schlüsselgrafiken zu Ideenaktionen zuzuordnen. Verwenden Sie :action COMMAND, um den Befehl auszuführen.

d.h .:

norepmap <C-w>q :action VimWindowClose<cr>

schließt das aktuelle Fenster.

Darüber hinaus können Sie nach einem bestimmten action mit :actionlist Past suchen. Dies listet

EditorPast <C-V> <S-ins>

unter anderem. Wenn Sie überprüfen möchten, ob EditorPast der richtige Befehl ist, können Sie ihn mit :action EditorPaste testen.

Eine andere Möglichkeit, dies zum Laufen zu bringen, ist, die Idee mit der <C-v> Verknüpfung umgehen zu lassen. Dies kann mit den Einstellungen Settings -> Other Setting -> Vim Emulation erreicht werden. Der Handler (vim oder idea) kann mit dieser Einstellung definiert werden.

+0

Danke für Ihre Antwort, aber wenn ich schreibe ': actionList' ich Nachricht von IDE (unten bar) erhalten sagen: 'VIM - Nicht ein Editor-Befehl: Action' – koto

+1

Try': actionlist' .. nicht ': Action ' – Peter

+0

': actionlist' ist in Ordnung :) Ich werde in diesen Befehl und seine Möglichkeiten bald tauchen, aber ich denke, es ist nicht das Problem. Ich kann ** copy-paste machen und tue das, aber das Problem liegt nicht bei mir selbst, sondern im IDE (oder IDE Plugin) Verhalten, so sehe ich es. – koto