Có cách nào (hoặc phím tắt) để tự động nhập các lớp trong IntelliJ IDEA như trong Eclipse không?


122

Trong Eclipse, khi viết mã bằng Java và nhấn Ctrl+ Shift+ Otự động nhập tất cả các Lớp tự động.
Trong NetBeans, điều này được thực hiện với Ctrl+ Shift+ I.

Có cách nào để thực hiện việc này trong IntelliJ IDEA không?

Tôi đã tìm kiếm một phím tắt tương đương trong cấu hình google, StackOverflow, IntelliJ IDEA và trong trang web IntelliJ Những phím tắt chính thức mà bạn không thể bỏ lỡ



4
Khi tìm kiếm lệnh / phím tắt, hãy nhập Ctrl-shift-A (hoặc Cmd-shift-A trên Mac) và tìm kiếm lệnh. Ví dụ ở đây, nhập "nhập" sẽ hiển thị cho bạn lệnh "Tối ưu hóa nhập" và phím tắt của lệnh này.
JB Nizet

2
"Nhập tối ưu hóa" không hoạt động, hãy thêm Lớp
bywronski

Tính năng nhập tự động cho các lớp đang hoạt động nếu bạn bật tính năng này trong "Cài đặt> Trình chỉnh sửa> Chung> Nhập tự động".
Andrea Bergonzo

đây thực sự là thất bại lớn nhất của intellij. đó là một nỗi đau. nhận được xung đột và hợp nhất khi nhập khẩu là điều ngu ngốc, nhưng intellij không thể dễ dàng giúp bạn giải quyết nó
bharal

Câu trả lời:


103

IntelliJ IDEA không có hành động để thêm nhập. Thay vào đó nó có khả năng làm như bạn gõ. Nếu bạn bật tùy chọn "Thêm nhập rõ ràng" trong Cài đặt> Trình chỉnh sửa> Chung> Nhập tự động , IntelliJ IDEA sẽ thêm chúng khi bạn nhập mà không cần bất kỳ phím tắt nào. Bạn cũng có thể thêm các lớp và gói để loại trừ khỏi việc nhập tự động để tạo ra một lớp mà bạn sử dụng nhiều, lớp đó xung đột với các lớp khác cùng tên, rõ ràng.

Đối với các lớp không rõ ràng (hoặc bạn muốn tắt tùy chọn "Thêm nhập rõ ràng"), chỉ cần nhập tên của lớp (chỉ cần tên là được, không cần đủ điều kiện). Sử dụng mã hoàn thành và chọn lớp cụ thể bạn muốn:

nhập mô tả hình ảnh ở đây

Chú ý những cái tên đủ tiêu chuẩn ở bên phải. Khi tôi chọn cái tôi muốn và nhấn enter, IDEA sẽ tự động thêm câu lệnh nhập. Điều này hoạt động tương tự nếu tôi đang nhập tên của một hàm tạo. Đối với các phương thức tĩnh, bạn thậm chí có thể tiếp tục nhập phương thức bạn muốn. Trong ảnh chụp màn hình sau, chưa có lớp "StringUtils" nào được nhập.

nhập mô tả hình ảnh ở đây

Ngoài ra, hãy nhập tên lớp và sau đó nhấn Alt+ Enterhoặc + Enterđể "Hiển thị các hành động có ý định và các bản sửa lỗi nhanh" rồi chọn tùy chọn nhập.

Mặc dù tôi chưa bao giờ sử dụng nó, tôi nghĩ các Eclipse Mã Formatter bên thứ ba plug-in sẽ làm những gì bạn muốn. Nó liệt kê "mô phỏng tối ưu hóa nhập khẩu của Eclipse" như một tính năng. Xem hướng dẫn của nó để biết thêm thông tin. Nhưng cuối cùng, tôi nghi ngờ bạn sẽ thấy các tính năng IDEA được tích hợp sẵn hoạt động tốt khi bạn đã quen với mô hình của chúng. Nói chung, IDEA sử dụng khái niệm "phát triển theo ý định". Vì vậy, thay vì làm gián đoạn công việc phát triển của tôi để thêm một câu lệnh nhập, tôi chỉ cần nhập lớp tôi muốn (ý định của tôi) và IDEA tự động thêm câu lệnh nhập cho lớp đó cho tôi.


7
Theo cách này, công việc nhiều hơn khi bạn chỉnh sửa các tệp cũ.
Adam

Điều này không hiệu quả với tôi. Khi tôi nhấn Enter sau khi chọn một lớp xuất hiện trong danh sách tự động hoàn thành, IntelliJ sẽ không nhập lớp đó. Thay vào đó, nó viết tên đủ điều kiện của lớp. Điều này rất khó chịu và vô ích. Bạn có biết làm sao để sửa cái này không?
Rodrigo

^ lý do cho hành vi này là lớp tôi đang cố nhập không có trong đường dẫn xây dựng. Sau khi thêm, nhấn Enter đã nhập đúng lớp.
Rodrigo

3
Tôi đã đến câu hỏi này với hy vọng tìm thấy bất kỳ phím tắt nào như vậy cho IntelliJ. Vấn đề là nếu tôi nhận xét một phần lớn mã có các lớp, IntelliJ sẽ tự động loại bỏ các nhập không gian tên. Bây giờ Nếu tôi đi và bỏ ghi chú mã, IntelliJ sẽ không nhập lại các không gian tên cho giống nhau và việc tiếp tục thực hiện ALT + Enter cho từng vùng đó trở nên khá đau đầu. Bất kì giải pháp nào?
Rahul Saini

Tôi đồng ý với @RahulSaini về điều này. Không có lý do gì để có hai bản đồ chính riêng biệt cho một hoạt động. Tôi không muốn và không nên phải làm nhiều việc để hoàn thành một hành động. Tôi có thể nói rằng tại thời điểm này intellij chỉ đang hiếu chiến về nó và không có lý do thực sự để không "tổ chức" việc nhập khẩu trái ngược với "tối ưu hóa" việc nhập khẩu. Tôi thực sự muốn bỏ phiếu cho câu trả lời này mặc dù nó đúng về mặt kỹ thuật.
xem trước

73

Không phải tất cả cùng một lúc. Nhưng bạn có thể nhấn

Alt + Enter

Mọi người cho rằng nó chỉ hoạt động khi bạn đang ở một mục cụ thể. Nhưng nó thực sự hoạt động cho "loại thiếu tiếp theo". Vì vậy, nếu bạn tiếp tục nhấn Alt+ Enter, IDEA sẽ sửa lần lượt cho đến khi tất cả được sửa.


1
Tôi giả sử bạn đang đề cập đến các ký hiệu phím trên bàn phím. Chúng có thể được thêm vào bằng cách sử dụng kbdthẻ<kbd>Alt</kbd> + <kbd>Enter</kbd>
GuiSim

1
Chuyển đến lớp mà nó không thể tìm thấy và nhấn ⌥ + Enter. Rất vui vì tôi đã cuộn xuống.
Ajak6

1
Có cách nào để Alt+Enterkết hợp lại với các ngón tay thân thiện hơn không? Tôi không thể tìm ra nó qua IntelliJ IDEA > Preferences > Keymapmenu.
laylaylom

1
Tôi thấy cách bổ sung câu lệnh nhập thiếu của Eclipse dễ dàng hơn so với IDEA. Tôi luôn luôn bị lẫn lộn nơi để đặt con trỏ chuột trước khi gõ Alt + Enter
vikramvi

Alt + Enter kết hợp với F2 (Lỗi được đánh dấu tiếp theo) thường khá nhanh ngay cả đối với (quá) các Lớp lớn.
osundblad

10

Có vẻ như IntelliJ IDEA sẽ tự động nhập lớp bị bỏ lỡ và bạn có thể nhập chúng bằng cách nhấn Alt+ Entertheo cách thủ công.


8

Tôi nghĩ giải pháp tốt nhất, mặc dù không hoàn toàn giống với Eclipse / Netbeans, là thay đổi cài đặt 'Tối ưu hóa Nhập'.

Dưới Preferences > Editor > General > Auto Import

Bộ Add unambiguous imports on the fly

Chỉnh sửa: Sử dụng phương pháp này, khi có được nhập khẩu mơ hồ, IntelliJ sẽ cho bạn biết và bạn có thể sau đó sử dụng Alt+ Enterphương pháp được nêu trong câu trả lời bằng Wuaner

Tôi thấy rằng, hầu như luôn luôn, Nhập thích hợp nhất nằm ở đầu danh sách.


1
@Raja Tôi cũng không chắc tại sao. Tôi biết rằng khi tôi nói với đồng nghiệp của mình rằng họ đã chọn không sử dụng phương pháp này mặc dù ... bí ẩn.
comfytoday

Các hướng dẫn là khá rõ ràng. Nó chỉ tự động nhập các unambiguouslớp. Và tôi đã sử dụng nó kể từ hai ngày qua trong dự án hơn 3000 lớp học của mình. Hoạt động như một sự quyến rũ. Cám ơn vì đã chia sẻ.
Raja Anbazhagan

5

Không thể nhập tất cả cùng một lúc nhưng có thể sử dụng kết hợp sau:

ALT+ Enter-> Hiển thị các hành động có chủ đích và sửa chữa nhanh.

F2 -> Lỗi được đánh dấu tiếp theo.


3

Một tùy chọn khác là yêu cầu IDEA hoạt động giống như nhật thực bằng các phím tắt của nhật thực. Bạn có thể sử dụng tất cả các phím tắt nhật thực bằng cách bật tính năng này.

Đây là các bước:

1- Với IDEA đang mở, nhấn Control + ` . Các tùy chọn sau sẽ được bật lên.

nhập mô tả hình ảnh ở đây

2- Chọn Keymap. Bạn sẽ thấy một cửa sổ bật lên khác. Chọn Eclipse ở đó.

nhập mô tả hình ảnh ở đây

3- Bây giờ nhấnCtrl + Shift + O . Bạn xong việc rồi!


Tôi đã thử. Nó không làm cho "tổ chức nhập khẩu" hoạt động theo cách Eclipse.
Florian F

0

Sử dụng control+ option+ Lđể tự động nhập gói và tự động xóa các gói không sử dụng trên Mac

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.