Tối ưu hóa nhập khẩu Eclipse để bao gồm nhập khẩu tĩnh


411

Có cách nào để có được Eclipse để tự động tìm kiếm nhập khẩu tĩnh không? Ví dụ: bây giờ cuối cùng tôi đã nâng cấp lên Junit 4, tôi muốn có thể viết:

assertEquals(expectedValue, actualValue);

nhấn Ctrl+ Shift+ Ovà thêm Eclipse:

import static org.junit.Assert.assertEquals;

Có lẽ tôi đang hỏi quá nhiều.

Câu trả lời:


572

Tôi đang sử dụng Eclipse Europa, cũng có phần tùy chọn ưa thích:

Cửa sổ> Tùy chọn> Java> Trình chỉnh sửa> Hỗ trợ nội dung> Yêu thích

Trong phần của tôi, tôi có các mục sau (khi thêm, sử dụng "Loại mới" và bỏ qua .*):

org.hamcrest.Matchers.*
org.hamcrest.CoreMatchers.*
org.junit.*
org.junit.Assert.*
org.junit.Assume.*
org.junit.matchers.JUnitMatchers.*

Tất cả trừ thứ ba trong số đó là nhập khẩu tĩnh. Bằng cách có những mục đó là mục ưa thích, nếu tôi gõ " assertT" và nhấn Ctrl+Space , Eclipse sẽ cung cấp assertThatdưới dạng một gợi ý và nếu tôi chọn nó, nó sẽ thêm nhập tĩnh đúng vào tệp.


26
Ah - mẹo đơn giản là thêm org.junit.Assertthông qua New Type..., .*sau đó là ẩn.
KomodoDave

5
Có đúng không khi nhập tự động Ctrl+Shift+osẽ không thêm nhập cần thiết và trên thực tế, bạn phải di con trỏ và chọn Add static import..tùy chọn? Thật xấu hổ khi hộp thoại danh sách lựa chọn nhập tự động thông thường không hiển thị.
KomodoDave

2
@ J.Stoever - Nếu bạn đang sử dụng JUnit 4, bạn sẽ muốn sử dụng biểu mẫu Hamcrest:assertThat(value, is(expected));
David Harkness

2
Tôi đã thử điều này với Eclipse Kepler, nhưng không có kết quả. Tôi cũng khởi động lại Eclipse. Không tự động hoàn thành, không có lựa chọn nhập tĩnh khi tích hợp hoặc nhấn CTRL + 1. Có ai có kinh nghiệm này không?
Magnilex

2
Intellij Idea hỗ trợ điều này ra khỏi hộp. Xấu hổ nhật thực không.
Neeraj

242

Nếu bạn làm nổi bật phương thức Assert.assertEquals(val1, val2)và nhấn Ctrl+ Shift+ M(Thêm nhập), nó sẽ thêm nó dưới dạng nhập tĩnh, ít nhất là trong Eclipse 3.4.


11
cmd-shift-M trên mac
Joshua Goldberg

15
Trong Eclipse Juno, tôi chỉ có thể làm cho nó hoạt động nếu tôi chỉ làm nổi bật phương thức và sau đó sử dụng CTRL + SHIFT + M.
ktulinho

5
Đây nên là người chiến thắng!
Clint Eastwood

Cũng hoạt động đối với các trường tĩnh AX -> X (rất cao AX và Ctrl + Shift + M). Cảm ơn. Chính xác những gì tôi muốn.
Eyad Ebrahim

5
Làm việc cho tôi trên Luna. Hãy chắc chắn rằng con trỏ của bạn ở phía bên phải của khoảng thời gian. Ước gì tôi đã học được về những năm trước đây!
HDave

31

Eclipse 3.4 có phần Favorites trong Window-> Preferences-> Java-> Editor-> Content Assistant

Nếu bạn sử dụng org.junit.Assertnhiều, bạn có thể tìm thấy một số giá trị để thêm nó vào đó.


21

Không chính xác những gì tôi muốn, nhưng tôi tìm thấy một cách giải quyết. Trong Eclipse 3,4 (Ganymede), đi đến

Cửa sổ-> Tùy chọn-> Java-> Trình chỉnh sửa-> Hỗ trợ nội dung

và chọn hộp kiểm cho Sử dụng nhập tĩnh (chỉ 1,5 hoặc cao hơn) .

Điều này sẽ không mang lại quá trình nhập trên Nhập tối ưu hóa, nhưng nếu bạn thực hiện Khắc phục nhanh ( CTRL+ 1) trên dòng, nó sẽ cung cấp cho bạn tùy chọn để thêm nhập tĩnh đủ tốt.


10

Từ nội dung hỗ trợ nhập khẩu tĩnh

Để nhận các đề xuất hỗ trợ nội dung cho các thành viên tĩnh, hãy định cấu hình danh sách các thành viên tĩnh yêu thích của bạn trên trang Mở tùy chọn trang Java > Editor > Content Assist > Favoritestùy chọn ưa thích.
Ví dụ: nếu bạn đã thêm java.util.Arrays.*hoặc org.junit.Assert.*vào danh sách này, thì tất cả các phương thức tĩnh của loại này khớp với tiền tố hoàn thành sẽ được thêm vào danh sách đề xuất.

Mở Window » Preferences » Java » Editor » Content Assist » Favorites

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


5

Đối với các bài kiểm tra SpringFramework, tôi cũng khuyên bạn nên thêm vào bên dưới

org.springframework.test.web.servlet.request.MockMvcRequestBuilders
org.springframework.test.web.servlet.request.MockMvcResponseBuilders
org.springframework.test.web.servlet.result.MockMvcResultHandlers
org.springframework.test.web.servlet.result.MockMvcResultMatchers
org.springframework.test.web.servlet.setup.MockMvcBuilders
org.mockito.Mockito

Khi bạn thêm ở trên dưới dạng mới, nó sẽ tự động thêm. * Vào gói.



2

Chọn hằng số, gõ

Ctrl + 1  (quick fix)

Chọn "Chuyển đổi sang nhập tĩnh." từ thả xuống

"Khắc phục nhanh" có các tùy chọn mặc dù đó không phải là lỗi.


1

Trong Eclipse 4.9, bạn có thể nhập tĩnh các yêu cầu hiện có bằng cách sửa nhanh.

Một sửa chữa nhanh mới đã được thực hiện cho phép người dùng chuyển đổi truy cập trường tĩnh và phương thức tĩnh để sử dụng nhập tĩnh. Cũng có thể thay thế tất cả các lần xuất hiện cùng một lúc.

Thêm chi tiết tại đây

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.