Dọn mã trong netbeans


83

Có điều gì đó tương tự với các quy tắc dọn dẹp Eclipse (Tùy chọn> Java> Kiểu mã> Dọn dẹp) trong NetBeans không?

Các quy tắc dọn dẹp trong eclipse sẽ cho phép bạn làm sạch những thứ như tổ chức các lần nhập, loại bỏ các phôi không cần thiết, thêm các chú thích ghi đè bị thiếu, v.v.

Ngoài ra, bạn có thể làm điều đó trên toàn bộ tập hợp các lớp / gói thay vì các lớp riêng lẻ không?


3
Tôi đã thêm tiền thưởng và tôi hy vọng ai đó sẽ biết về một plugin hoặc một số cách khác để thực hiện việc này. Tôi thực sự nhớ các tùy chọn dọn dẹp Eclipse của mình.
Ben Hocking

Như đã trả lời bên dưới, có nhiều cách để làm sạch các khía cạnh nhất định của một tệp mã nguồn duy nhất. Tôi nghi ngờ rằng NetBeans sẽ giới thiệu tính năng "sửa chữa tất cả các tệp của tôi" vì các thay đổi đối với mỗi tệp có thể phụ thuộc vào các thay đổi đối với (các) tệp trước đó, vì vậy NetBeans sẽ cần ưu tiên những tệp nào cần sửa trước và biên dịch tệp khi nó sửa. chúng.
Daniel

@Daniel: Bản chất của những "bản sửa lỗi" này thường nhỏ: loại bỏ khoảng trắng, thêm thẻ @Override, tổ chức nhập, loại bỏ các phôi không cần thiết, xóa các biến không sử dụng, v.v. Tức là, chúng là các bản sửa lỗi không có tác động chức năng và do đó không quan trọng thứ tự chúng được áp dụng.
Ben Hocking

Câu trả lời:


90

Refactor > Inspect and Transform

Có điều gì đó giống với quy tắc dọn dẹp Eclipse ((Tùy chọn> Java> Kiểu mã> Dọn dẹp) trong NetBeans không?

Trong NetBeans 8.0, công cụ hàng loạt mạnh mẽ là Refactor> Inspect and Transform. Xem trang hướng dẫn, Tái cấu trúc bằng Kiểm tra và Chuyển đổi trong NetBeans IDE Java Editor .

Các công cụ cá nhân cũng có sẵn:

  • Sửa lỗi nhập
    Đối với một tệp, không gian tên hoặc dự án (tùy thuộc vào những gì được chọn trong cửa sổ Dự án hoặc có tiêu điểm): Nguồn> Sắp xếp các mục nhập (để sắp xếp và loại bỏ các mục nhập không sử dụng) hoặc Nguồn> Sửa các mục nhập (để sắp xếp, loại bỏ các mục nhập không sử dụng, và thêm hàng nhập khẩu bị thiếu). Hoặc trong mỗi lần lưu: Công cụ> Tùy chọn> Trình chỉnh sửa> Bật Lưu> Sắp xếp Nhập.

  • Loại bỏ các dấu cách ở cuối
    Đối với một tệp duy nhất (đặt dấu khắc vào tệp mã): Nguồn> Xóa các dấu cách sau . Hoặc trong mỗi lần lưu: Công cụ> Tùy chọn> Trình chỉnh sửa> Bật Lưu> Xóa khoảng trắng theo dõi.

  • Định dạng mã
    Đối với một tệp, không gian tên hoặc dự án: Nguồn> Định dạng. (Tùy chỉnh các quy tắc trong Tools > Editor > Formatting). Ngoài ra còn có một plugin tên là Jindent bạn có thể cài đặt (bản thân tôi chưa sử dụng nó). Hoặc trong mỗi tiết kiệm: Tools > Options > Editor > On Save > Reformat.

Theo mặc định, Netbeans sẽ hiển thị các biểu tượng gợi ý bên cạnh các dòng mã có vấn đề và trong thanh cuộn, cho phép bạn thực hiện sửa lỗi tự động nếu muốn. Chúng có thể được cấu hình thông qua Tools > Options > Editor > Hints. Netbeans có thể tìm kiếm tất cả các vấn đề trong dự án bằng cách sử dụng Nguồn> Kiểm tra. Hoặc, để nhắc lại, nhiều sự cố trong số này có thể được khắc phục hàng loạt Refactor > Inspect and Transform.


Mát mẻ. Cảm ơn. Theo thời gian, NetBeans có xu hướng đưa các công cụ và tiện ích mới tăng tốc và tạo điều kiện thuận lợi cho việc mã hóa vào các bản phân phối cốt lõi. Các plugin tốt thường được tích hợp vào lõi. Các plugin mới được cung cấp ở mỗi bản phát hành. Tôi tin rằng các chức năng hoàn toàn tự động sẽ sớm được cung cấp ...
Jérôme Verstrynge

4
Như một bản cập nhật cho câu trả lời này, định dạng đệ quy được triển khai nguyên bản trong Netbeans (yay!). Chỉ cần chọn "Gói Nguồn" trong trình xem gói, sau đó đi tới Nguồn> Định dạng. Điều duy nhất nó không làm là nhập dọn dẹp
TheLQ

Có một phím tắt cho kiểm tra và chuyển hóa và làm thế nào để thiết lập nó
Shareef

Tôi phải mất một chút để nhận ra rằng, sau khi chọn Inspect and Transform(trong Netbeans 8.2 của tôi, nó xuất hiện trực tiếp dưới dạng tùy chọn sau khi nhấp chuột phải vào dự án; không có Refactormenu trước đó) tôi phải chọn Use: Configuration: Organize Imports(nhấp vào Manage...nút nếu nó không xuất hiện trực tiếp trong menu thả xuống. Có hàng tá "kiểm tra" có sẵn ở đó để áp dụng cho mã của bạn!
Pere vào

22

Tương đương với "Code Cleanup" của Eclipse trong NetBeans là "Định dạng". Nó nằm trong Nguồn> Định dạng và phím tắt là Alt + Shift + F (trên Windows). Thật không may, không giống như Eclipse, có vẻ như điều này không thể được cấu hình trong NetBeans.


8
Eclipse có hai chức năng riêng biệt: Định dạng mã và Dọn mã. NetBeans Source-Format chỉ tương đương với Code-Format - và thậm chí ở đó nó không mạnh bằng. Không có cách nào có thể so sánh được với Eclipse Code-Cleanup. Không biết làm thế nào bạn có được phiếu bầu cho câu trả lời bị lỗi này.
Martin

9
Trong netbeans cho Code-formate alt + shift + fvà nhập khẩu ctrl + shift + i. và điều này hoạt động cho từng tệp. Đối với tất cả các tệp không có chức năng.
Ravi Parekh

và ngay cả với mã định dạng, u không thể đặt chiều rộng cột tối đa như những gì bạn muốn dòng mã của mình mở rộng. ý tôi là nếu bạn có chiều rộng 200 cột thì netbean sẽ được đặt thành một dòng cho đến khi bạn làm theo cách thủ công Enter.
Ravi Parekh

@RaviParekh Các tùy chọn trong Tools> Options> Editor> Formatting> Line Wrap đều có, nhưng tôi thấy rằng nó không có hiệu lực. Bọ cánh cứng?
Aleksandr Dubinsky


9

Đối với Netbeans, hãy sử dụng Ctrl + Shift + I để xóa dữ liệu nhập không sử dụng khỏi tệp.


Câu hỏi đặt ra là làm điều này cho nhiều lớp / tệp thay vì chỉ một lớp.
Basil Bourque,

2

công cụ -> tùy chọn -> Tab "Trình chỉnh sửa" -> Tab "Gợi ý" -> chọn Java (nói về) trong JComboBox

và sau đó bạn sẽ thấy đại dương màu vàng ..., tuyệt vời và nhanh chóng từ phiên bản 6.9


Điều đó thông báo cho bạn về các sự cố có thể xảy ra trong mã của bạn (và rất hữu ích), nhưng những gì chúng tôi đang tìm kiếm là một tùy chọn để tự động khắc phục các sự cố như thế này, bằng một lệnh duy nhất để khắc phục tất cả các sự cố trong tệp (hoặc tốt hơn nữa một tập hợp các tệp) hoặc tự động khi lưu. Eclipse có cả hai tùy chọn này. Tôi sử dụng nó thường xuyên để tự động điền vào các câu lệnh @Override bị thiếu, để sắp xếp các lần nhập và loại bỏ khoảng trắng ở cuối.
Ben Hocking

@Ben Hocking :-) Tôi không muốn điều gì đó ... và tự động, bởi vì trong (chuyên ngành) một số trường hợp có nhiều hơn một tùy chọn đến từ Gợi ý và bạn có thể chọn "tốt hơn" từ Mục, cách một số tự động hóa có thể chọn và biết tùy chọn tốt hơn ..., có vẻ như tôi đã bắt đầu FlameWar ...
mKorbel

@mKorbel: Những mục nào được sửa tự động không giống với cảnh báo và như bạn đã chỉ ra, bạn sẽ không muốn chúng như vậy. Thông thường, những thứ "tự động" là những thứ nhỏ nhặt, chẳng hạn như tổ chức nhập và loại bỏ khoảng trắng ở cuối, cũng như những thứ lớn hơn một chút như thêm @Override bị thiếu (có thể phá vỡ mã nếu người khác biên dịch bằng Java 1.5). Vấn đề là, nó có thể được định cấu hình riêng biệt từ gợi ý của bạn và bạn có thể làm nhiều hoặc ít tùy thích. Việc "dọn dẹp mã khi lưu" cũng nguy hiểm hơn là làm theo yêu cầu.
Ben Hocking

@Ben Hocking nhưng tôi đã không bao giờ rút ra một sự phân biệt giữa việc viết tốt hơn hoặc thoải mái hơn trong Eclipse hay Netbeans
mKorbel

1
Có rất nhiều sự khác biệt có thể được tạo ra, nhưng người dùng của cả hai IDE sẽ được hưởng lợi từ việc học các thủ thuật từ IDE kia. Ví dụ, tôi thực sự thích cách sử dụng cobertura từ Netbeans thật dễ dàng. Mặc dù bạn cũng có thể làm điều đó từ Eclipse, nhưng nó đòi hỏi nhiều bước nữa. Tất nhiên cũng có nhiều sự khác biệt đáng kể hơn.
Ben Hocking

1

Tôi biết rằng netbeans chỉ ra những điều này một cách tự động, nhưng ngoài việc chỉ ra chúng tôi không biết.


2
Phiên bản 6.5 hiển thị nội tuyến một biểu tượng bóng đèn nhỏ, nếu bạn nhấp vào sẽ đề xuất các bản sửa lỗi (chẳng hạn như thêm Ghi đè chú thích, xóa các mục nhập không sử dụng, v.v.).
ssakl

0

Tôi không biết cách nào để thực hiện việc này hàng loạt, nhưng nếu bạn xóa tất cả các lần nhập khỏi tệp nguồn và sau đó nhấp chuột phải vào trình chỉnh sửa nguồn, bạn có thể chọn sửa lỗi nhập. Điều này sẽ nhập tất cả các lớp cho bạn theo thứ tự bảng chữ cái, hỏi khi nó gặp phải sự mơ hồ về gói.

Như Soldier.moth đã chỉ ra, Netbeans sẽ chỉ ra các vấn đề khác, chẳng hạn như phôi và ghi đè chú thích, theo dòng, bằng cách sử dụng một bóng đèn ở bên trái nguồn.



0

Nếu bạn chỉ muốn làm cho mã của mình có thụt lề thích hợp trên toàn bộ dự án, chỉ cần nhấp vào tên dự án, đi tới "Nguồn", sau đó nhấp vào "Định dạng". Hi vọng điêu nay co ich!

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.