Lối tắt IntelliJ để tạo biến cục bộ là gì?


121

Trong Eclipse nếu bạn có một phương thức:

String MyObject.getValue();

Khi sử dụng cái này, bạn có thể đi:

MyObject.getValue(); 

Nếu con trỏ của bạn đang ở trên dòng và bạn nhấn CTRL+, 1bạn sẽ thấy menu ngữ cảnh để 'gán một biến cục bộ mới', dẫn đến kết quả sau:

String value = MyObject.getValue(); 

Bạn có thể làm điều này dễ dàng như trong IntelliJ không? Tôi đã tìm kiếm trên mạng nhưng không thành công.


10
Mẹo nếu bạn không nhớ phím tắt: Dù bạn đang ở đâu trong mã, nếu bạn nhấn [Ctrl] + [Shift] + [A] ([cmd] + [Shift] + [A] trong Mac), nó sẽ hiển thị một danh sách các hành động theo tên, bạn có thể gõ các hành động mà bạn muốn làm (ví dụ Variable) và thực hiện nó
Christian García

Trong Eclipse, nhanh hơn để thực hiện "Ctrl-2 l" (L viết thường).
Duncan Jones

Câu trả lời:


192

Vâng! Đây là cấu trúc lại biến Giới thiệu . Theo mặc định, hãy chọn một số văn bản, sau đó nhấn Ctrl+ Alt+ V(đối với Mac: + + V). Nếu biểu thức không đầy đủ hoặc không hợp lệ, IntelliJ sẽ vẫn đoán đúng ý bạn và cố gắng sửa lỗi cho bạn.


2
Cảm ơn. Tôi đang sử dụng CTRL + ALT + F nhưng điều này không cung cấp tùy chọn 'cục bộ'.
JARC

29
Cmd + Alt + v dành cho Mac
Zach Lysobey 8/1013

Và, bạn có thể nhấn Shift + Tab để chọn loại biến, IDEA sẽ ghi nhớ lựa chọn của bạn cho tương lai.
user674158

1
Có khả năng khai báo biến cuối cùng thông qua bàn phím mà không cần nhấp vào cửa sổ bật lên không?
Mathias Bader

1
Tôi nghĩ rằng một khi bạn chỉ định rằng biến sẽ là biến cuối cùng lần đầu tiên, lựa chọn của bạn sẽ được ghi nhớ trong tương lai (ít nhất là trong IntelliJ 14).
Jon Onstott

50

IntelliJ 13.1 đã giới thiệu hoàn thành Postfix .

Với Postfix hoàn thành, bạn có thể giới thiệu một biến cục bộ bằng cách nhập:

MyObject.getValue().var

và nhấn ctrl + spacehoặc enter.

Nó thậm chí còn hoạt động bên trong các câu lệnh khác. Ví dụ:

foo.someMethod(myObject.getValue().var);

11

cho người dùng mac: alt + entertại vị trí mà bạn muốn tạo biến của mình

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.