Jak dodać średnik po wywołaniu metody wewnątrz listy parametrów w IntelliJ IDEA?

137

W końcu wracam do IntelliJ przez Eclipse. Obecnie moje Eclipse jest skonfigurowane tak, że jeśli obecnie mam takie oświadczenie (gdzie ^ oznacza miejsce, w którym obecnie znajduje się mój kursor):

foo.bar("hello"^)

i naciskam klawisz średnika (;), automatycznie umieści średnik na końcu instrukcji:

foo.bar("hello");

Obecnie IntelliJ robi to:

foo.bar("hello";)

Oznacza to, że przed wpisaniem średnika będę musiał jawnie wpisać nawias zamykający.

Nie jest to oczywiście duży problem, ale kilka razy znalazłem się dzisiaj w niewłaściwym miejscu, kiedy przechodziłem z powrotem do IntelliJ i pomyślałem, że może być bardziej wydajne (zarówno dla moich palców, jak i mózgu), wpisać nawias zamykający.

digiarnie
źródło
3
Dzięki, nawiasem mówiąc, nie ma czegoś takiego jak „klamry kręcone”, to po prostu „szelki”.
Gordon Dickens
2
Dodałem skrót netbeans (ctrl +;) do IntelliJ dla tej funkcjonalności. Możesz go dodać w menu Plik -> Ustawienia -> Mapa klawiszy -> wyszukaj „kompletna bieżąca instrukcja” -> dodaj skrót klawiaturowy.
Stefanos Kalantzis
1
nie tylko średnik, ale także nawias klamrowy. A jeśli CHCĘ umieścić semikon w pozycji kursora, ale zaćmienie inteligentnie umieści go na końcu, po prostu naciśnij klawisz Backspace, a wróci do miejsca, w którym powinien być. Dlatego nadal używam eclipse zamiast as.
jiashie,

Odpowiedzi:

221

Dla systemu Windows lub Linux użytkowników Ctrl+ Shift+Enter .

Dla MacOS / OS X użytkownicy, ⌘ Command+ ⇧ Shift+Enter .

To kończy stwierdzenie, które obecnie piszesz. Wypróbuj go w kilku różnych sytuacjach, na przykład w instrukcjach if, pętlach itp., A zobaczysz, że uzupełni wiersz i otworzy kilka nawiasów klamrowych, jeśli to konieczne.

Noel M.
źródło
9
Nie tak przyjemny jak w Eclipse, bo wymaga przemyślenia kontekstu i to trzy klawisze zamiast jednego. Ale lepiej niż End; Średnik, dzięki!
robinst
28
Nie podoba mi się to. Eclipse wygrywa na tym, to bolesna irytacja. Nie jest to nawet skrót w Eclipse, po prostu przenosi średnik na koniec, ponieważ jest oczywiste, że powinien (gdy ustawienie jest włączone). Używanie do tego dowolnego klawisza skrótu jest głupie.
Manius
4
Zdecydowanie zgadzam się, że Eclipse jest w tym przypadku znacznie lepszy. Jest też wiele innych, co prowadzi mnie do sporadycznego dzwonienia do JetBrains IDE: UnIntelliJ
Stan Kurdziel
1
Nie sądzę, aby OP chciał, aby skrót klawiaturowy robił to, co powinien robić jeden klawisz (średnik). Zwłaszcza jeśli musisz poruszyć ręką i uderzyć trzy razy więcej klawiszy.
Scott Biggs
1
Najgorsze w IntelliJ, szczególnie dla tych pochodzących z Eclipse, jest przystosowanie się do skrótów. Myślę, że spędzili dużo czasu, aby dowiedzieć się, jak uczynić je mniej intuicyjnymi, jak to tylko możliwe.
Jordan Silva,
37

Możesz dodać własną mapę klawiszy. Dodałem Ctrl+ ;do moich map klawiszy dla akcji „Complete Current Statement”. To zaoszczędziło mi dodatkowego naciśnięcia klawisza i uczyniło go nieco bardziej intuicyjnym.

  1. Wybierz kolejno Ustawienia> Mapa klawiszy
  2. W polu wyszukiwania wpisz „Complete Current Statement”.
  3. Kliknij wpis prawym przyciskiem myszy i wybierz „Dodaj skrót klawiaturowy”
  4. Z First Stroke pole hightlighted, wprowadź kombinację klawiszy. Np. Ctrl+ ;, Który będzie wyświetlany jakoCtrl+Semicolon
  5. Kliknij OKi, OKaby zapisać i wyjść.

Możesz zdecydować się na usunięcie lub zachowanie istniejącego mapowania. Po zakończeniu powinno wyglądać mniej więcej tak:

wprowadź opis obrazu tutaj

LimaNightHawk
źródło
1
Użyłem średnika ;jako skrótu. Wydaje się, że działa dobrze.
Scott Biggs
1

jeśli chcesz mieć to zawsze, zrób to

wprowadź opis obrazu tutaj

Hamidreza Sadegh
źródło
1
Wow, to działa! Zastanawiam się: czy to nowe ustawienie, czy też było tam przez ostatnie 10 lat?
LimaNightHawk