Sắp xếp lại các tham số phương thức trong IntelliJ bằng phím tắt


92

Trong IntelliJ, tôi có thể dễ dàng sắp xếp lại thứ tự các câu lệnh (hoặc toàn bộ các phương thức cho phần đó) bằng cách nhấn + Shift+ (hoặc + Shift+ ).

Tôi đã tự hỏi liệu có một phím tắt để thay đổi thứ tự của các tham số phương thức dễ dàng, để

public void sth(String a, String b) {...}

sẽ trở thành

public void sth(String b, String a) {...}

với nét của phím tắt (giả sử con trỏ của tôi được đặt trên một trong các tham số).

Đối với tôi, chỉ cần IntelliJ sắp xếp lại các thông số là đủ. Đó là, điều này không cần phải kích hoạt toàn bộ Refactor> Change method signature .


1
Điều này sẽ hoạt động như thế nào khi có ba tham số trở lên? :)
Konstantin Yovkov

2
Giả sử con trỏ của tôi đang ở trên tham số thứ hai: Di ​​chuyển nó lên, nó sẽ trở thành tham số đầu tiên. Chuyển nó xuống, nó sẽ trở thành cuối cùng.
Stefan Haberl

2
Một tham số di chuyển lên hoặc xuống cùng một lúc! Tôi rất muốn có thể làm được điều này!
Per Eriksson

1
Ctrl+F6và sau đó Alt+Uphoặc Alt+Downđể di chuyển một tham số?
Lyubomyr Shaydariv

1
Vâng, thường xuyên hơn bạn nghĩ. Khi tôi bắt đầu tạo ra một phương pháp, tôi thường Alt-Enter thêm các tham số bổ sung khi cần thiết. Khi tôi hoàn tất, tôi sắp xếp lại các thông số theo thứ tự hợp lý hơn. Thêm vào đó, tôi nghĩ cũng sẽ rất tuyệt nếu có phím tắt này cho các cuộc gọi phương thức. (Man, mức độ thường xuyên đã tôi nhận được sai trật tự khi làm việc với các API di sản với hơn 4 hoặc 5 thông số của cùng loại uhg!)
Stefan Haberl

Câu trả lời:


155

Kể từ IDEA 16 EAP, có một hành động cho điều đó. Nó có trong menu:

Mã | Di chuyển phần tử sang trái / phải

Các phím tắt là Alt+ Ctrl+ Shift+ Left/Right( Alt+ Cmd+ Shift+ Left/Rightcho OSX).

Xem http://blog.jetbrains.com/idea/2016/01/intellij-idea-16-eap-improves-editor-and-vcs-integration/ để biết thêm chi tiết.


Tôi đoán tôi sẽ phải đợi thêm một thời gian nữa cho đến khi IDEA 16 được tung ra thị trường, nhưng đó là một tin tuyệt vời!
Stefan Haberl

EAP đã có sẵn trong tự nhiên, bạn có thể thử nó :) Tôi không nghĩ rằng sẽ mất hơn 2 tháng để phát hành.
Peter Gromov

4
Tốt, nhưng câu trả lời của Lyubomyr Shaydariv: stackoverflow.com/a/35359882/4024146 tốt hơn nhiều, vì nó thực hiện cấu trúc lại và thay đổi phụ thuộc vào các thay đổi của tham số. Điều này chỉ chuyển đổi các tham số cho methos này, nhưng không chuyển đổi phương thức từ các phương thức khác. Bạn không cần phải làm vĩ mô cho nó, chỉ cần tổ hợp phím CTRL + F6 và ALT sử dụng + ↓
mtrakal

1
@mtrakal chúng là hai thứ khác nhau. Khi tôi soạn một phương thức, tôi không cần tái cấu trúc nặng (chậm) - tôi chỉ muốn dễ dàng di chuyển các tham số. Vấn đề thực sự với cái này là tôi thường có các tham số trên các dòng riêng biệt, vì vậy điều này không hoạt động. (Tôi thực sự muốn một bước đi trước và bước tiếp theo, không phải trái và phải.)
James Moore

Nếu bạn có nhiều con trỏ trên một số tham số của các phương thức khác nhau, chúng có thể được di chuyển cùng nhau.
WesternGun

16

Tôi không chắc liệu điều đó có khả thi trong IDEA hay không, nhưng bạn có thể thử sử dụng macro trình chỉnh sửa cho các phương thức hai tham số:

  • Trình chỉnh sửa -> Macro -> Bắt đầu ghi Macro
  • Ghi lại macro của bạn:
    • Ctrl+ F6để mở hộp thoại Thay đổi Chữ ký
    • Alt+ để hoán đổi tham số đầu tiên và tham số thứ hai
    • Tabđể hủy kích hoạt tab Tham số và để nút Refactor lấy tiêu điểm
    • Enter để đóng hộp thoại khi thực hiện tái cấu trúc
  • Trình chỉnh sửa -> Macro -> Dừng ghi Macro và đặt tên cho macro của bạn, giả sử "Hoán đổi các tham số phương thức 1 và 2".

Và sau đó truy cập macro của bạn thông qua Trình chỉnh sửa -> Trình đơn macro hoặc gán một phím tắt tùy chỉnh cho nó trong Cài đặt -> Sơ đồ chữ -> Menu chính / Chỉnh sửa / Macros / Hoán đổi các tham số phương thức 1 và 2 . Đối với tôi, nó trông rất bẩn và không có ngữ cảnh, nhưng có lẽ nó có thể giúp bạn một chút.


11

Trên Ubuntu 18.04, phím tắt mặc định là Ctrl + Alt + Shift + Super + Left / Right để di chuyển đối số sang trái hoặc phải vào vị trí.

Điều này được thiết lập để không đụng độ với một số phím tắt cấp hệ điều hành mới


1
cảm ơn, mặc dù nó yêu cầu thể dục ngón tay, điều này tốt hơn nhiều so với việc cần phải liên kết một khóa riêng biệt.
gMale
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.