Làm chủ Eclipse V3.4, Phần 3: Các mẹo và các bí quyết của trình soạn thảo JDT

Loạt các bài viết "Làm chủ Eclipse" (Mastering Eclipse) này dạy tất cả nhưng người mới đến với Eclipse những đặc tính và sự phức tạp về IDE của Eclipse. Kết thúc loạt bài viết này, bạn sẽ có kiến thức ngang hàng với những người sử dụng cao cấp. Trong bài viết này, hãy thực hiện một vòng khảo sát trình soạn thảo Java™ của Eclipse và tìm hiểu về một số đặc tính cao cấp của nó.

Prashant Deva, Sáng lập viên, Placid Systems

Prashant Deva là người sáng lập của Placid Systems và tác giả của cuốn sách Trình cắm thêm ANTLR Studio cho Eclipse. Ông cũng cung cấp các tư vấn liên quan đến việc phát triển các trình cắm thêm ANTLR và Eclipse. Ông đã viết một số bài báo liên quan đến các trình cắm thêm ANTLR và Eclipse và ông thường xuyên đóng góp các ý kiến và các báo cáo lỗi cho các nhóm phát triển Eclipse. Ông hiện đang bận rộn tạo ra công cụ nhà phát triển tuyệt vời tiếp theo


Cấp độ đóng góp cho developerWorks của
        tác giả

06 06 2009

Phần này của loạt bài "Làm chủ Eclipse" đưa ra một cái nhìn chi tiết về trình soạn thảo Java của Eclipse. Trình soạn thảo là nơi các nhà phát triển dành phần lớn thời gian của họ, do đó việc hiểu rõ các đặc tính cao cấp của nó có thể cải thiện đáng kể năng suất của bạn.

Lệnh Organize Imports

Lệnh tổ chức nhập khẩu (Organize Imports) thêm vào các phần nhập khẩu còn thiếu và tổ chức các khai báo nhập khẩu hiện tại trong các tệp tin Java. Bạn có thể chạy lệnh này trong trình soạn thảo hiện tại bằng cách sử dụng Ctrl+Shift+O. Để áp dụng lệnh Organize Imports cho toàn bộ dự án của bạn, nhấn chuột phải vào dự án trong Project Explorer và chọn Source > Organize Imports.

Giả bạn đã sử dụng một lớp ở một nơi nào đó trong tệp tin Java của bạn, nhưng bạn đã quên nhập khẩu nó; lệnh Organize Imports có thể tự động nhập khẩu nó cho bạn. Nếu lệnh này không chắc chắn về vị trí của lớp, một cửa sổ mở ra với một danh sách các tùy chọn để bạn lựa chọn từ đó. Ví dụ, nếu bạn sử dụng lớp List trong mã của bạn, khi bạn chạy lệnh Organize Imports, nó có thể bật lên một cửa sổ yêu cầu bạn lựa chọn giữa java.util.Listjavax.swing.List vì lệnh không thể tự mình quyết định được.

Lệnh Organize Imports cũng chia nhỏ các khai báo nhập khẩu dạng .* thành nhiều khai báo nhập khẩu riêng rẽ. Ví dụ, giả sử bạn có một nhập khẩu như import java.util.* trong tệp tin của bạn và bạn chỉ sử dụng lớp List từ gói đó. Lệnh Organize Imports sẽ thay thế câu lệnh import gốc bằng câu lệnh import java.util.List.

Lấy ra một phần của chuỗi

Thông thường, bạn cần phải nối một biến nằm giữa hai chuỗi ký tự. Hầu như luôn luôn, các chuỗi ký tự này là một phần của một câu lệnh đơn và rất dễ dàng mắc lỗi để lại một khoảng trống ở cả hai đầu của các chuỗi ký tự. Ví dụ, bạn có thể nhận được kết quả kiểu như là You have5seconds left, thay vì đúng ra phải là You have 5 seconds left. Eclipse giúp ngăn ngừa bạn khỏi rơi vào bẫy này:

  1. Gõ chuỗi ký tự của bạn giống như bình thường vào trong mã của bạn:
    static String getMsg(int time)
    {
        return "You have 5 seconds left";
    }
  2. Chọn phần của chuỗi ký tự mà bạn muốn thay thế bằng một biến — trong ví dụ này là số 5.
  3. Nhấn Ctrl+1 và chọn Pick out selected part of String.
    Hình 1. Chọn lấy ra một phần đã chọn của chuỗi ký tự
    Chọn lấy ra một phần đã chọn của chuỗi ký tự
    Kết quả được hiển thị trong Hình 2.
    Hình 2. Lấy ra một phần đã chọn của chuỗi
    Hình 2. Lấy ra một phần đã chọn của chuỗi
  4. Thay thế chuỗi ký tự ở giữa bằng biến của bạn.
    Hình 3. Thay thế chuỗi ký tự bằng biến của bạn
    Hình 3. Thay thế chuỗi ký tự bằng biến của bạn

Bây giờ bạn có thể tin chắc rằng bạn đã thực hiện không có sai sót về các khoảng trống.

Tự động tạo các biến cục bộ

Bạn thường xuyên cần phải gọi một phương thức và gán giá trị của nó đến một biến cục bộ mới. Eclipse thực hiện điều này dễ dàng đến mức mà bạn sẽ không bao giờ phải gán các biến cục bộ theo cách cũ:

  1. Gõ vào một lời gọi một phương thức:
    public void foo()
    {
        getMsg(3);
    }
  2. Không cần di chuyển con chạy dấu chèn, nhấn Ctrl+1 và chọn Assign statement to a new local variable (xem Hình 4). Bạn có thể chọn Assign statement to a new field nếu bạn muốn sử dụng một trường thay vì một biến cục bộ.
    Hình 4. Chọn Gán câu lệnh cho một biến cục bộ mới (Assign statement to a new local variable)
    Hình 4. Chọn Gán câu lệnh cho một biến cục bộ mới
    Một biến cục bộ mới có cùng một kiểu như là giá trị trả về của phương thức sẽ được tạo ra cho bạn. Nó được gán sẵn một tên thích hợp, nhưng bạn có thể thay đổi tên này nếu bạn muốn (xem Hình 5). Nhấn phím Enter để chấp nhận tên này.
    Hình 5. Bạn có thể thay đổi tên biến
    Hình 5. Bạn có thể thay đổi tên biến

Phác thảo nhanh (Quick Outline)

Khung nhìn Phác thảo (Outline) có ích vì nó cho phép bạn dễ dàng nhảy đến các phương thức trong tệp tin Java của bạn. Nhưng khung nhìn này chiếm mất nhiều trạng thái thực trên màn hình quý giá của bạn.

Khung nhìn Phác thảo nhanh (Quick Outline) cung cấp tất cả các chức năng của khung nhìn Outline mà không cần chiếm màn hình của bạn. Để kích hoạt khung nhìn Quick Outline từ bên trong trình soạn thảo của bạn, nhấn Ctrl+O. Một cửa sổ bật lên xuất hiện để hiển thị một phác thảo về tệp tin của bạn

Hình 6. Nhấn Ctrl+O đưa ra một khung nhìn Quick Outline
Hình 6. Nhấn Ctrl-O đưa ra một khung nhìn Quick Outline

Bạn có thể chuyển tới phương thức bất kỳ bằng cách sử dụng các phím mũi tên. Để chuyển sang một phương thức thậm chí nhanh hơn, bắt đầu gõ tên của nó. Danh sách bắt đầu lọc, hiển thị cho bạn các phương thức bắt đầu bằng các ký tự mà bạn đang gõ.

Hình 7. Bắt đầu gõ và khung nhìn Outline bắt đầu lọc
Hình 7. Bắt đầu gõ và khung nhìn Outline bắt đầu lọc

Kiểu mở nhanh (Quick Open Type)

Cửa sổ Open Type có tác dụng với Package Explorer giống như những gì mà Quick Outline đã làm đối với khung nhìn Outline.

Nhấn Ctrl+Shift+T trong trình soạn thảo của bạn. Một cửa sổ bật lên, trong đó bạn có thể gõ một tên lớp bất kỳ trong vùng làm việc của bạn (xem Hình 8). Nhấn vào OK và lớp đó mở ngay lập tức trong trình soạn thảo. Không cần phải tìm kiếm dọc qua các cây trong Package Explorer để mở lớp mà bạn muốn.

Hình 8. Cửa sổ Open Type cho phép bạn ngay lập tức nhảy đến lớp bất kỳ trong vùng làm việc
Hình 8. Cửa sổ Open Type cho phép bạn ngay lập tức nhảy đến lớp bất kỳ trong vùng làm việc

Bạn có thể sử dụng các ký tự đại diện khi bạn gõ tên lớp để lọc danh sách trong hộp văn bản. Ví dụ, hãy gõ *Exception để hiển thị tất cả các lớp Exception.

Thanh breadcrumb

Thanh breadcrumb đã được đưa vào kể từ Eclipse V3.4. Nó đặt ở trên đỉnh của cửa sổ trình soạn thảo của bạn, ngay dưới các phiếu và cung cấp chức năng của cả khung nhìn Package Explorer lẫn khung nhìn Outline (xem Hình 9). Nếu nó không được bật, bạn có thể bật nó bằng cách nhấn Alt+Shift+B.

Hình 9. Thanh breadcrumb
Hình 9. Thanh breadcrumb

Thanh breadcrumb chỉ ra đường dẫn tương đối của trình soạn thảo hiện tại so với vùng làm việc hiện tại. Nhấn chuột vào một trong những mũi tên màu đen để cho bạn thấy các nội dung của phần tử, như vậy cho phép bạn từ đây duyệt qua toàn bộ vùng làm việc của bạn.

Hình 10. Thanh breadcrumb cho phép bạn từ đó duyệt vùng làm việc của mình
Thanh breadcrumb cho phép bạn từ đó duyệt vùng làm việc của mình

Javadoc nhanh

Có phải bạn đang cố gắng tìm hiểu một phương thức làm gì? Eclipse có thể dễ dàng cho bạn xem Javadoc của phương thức bất kỳ nào. Chỉ cần rê con trỏ của bạn trên phương thức và một cửa sổ Javadoc xuất hiện.

Hình 11. Di con trỏ của bạn trên phần tử Java bất kỳ cho thấy Javadoc có liên quan -- ở đây là phương thức indexOf
Hình 11. Di con trỏ của bạn trên phần tử Java bất kỳ cho thấy Javadoc có liên quan -- ở đây là phương thức indexOf

Tuy nhiên, chức năng này không kết thúc ở đó. Di chuyển con trỏ của bạn bên trong cửa sổ bật lên và cửa sổ sẽ trở nên có khả năng cuộn được (xem Hình 12). Các nút ở dưới cùng cho phép bạn mở Javadoc trong một cửa sổ bên ngoài và đi đến khai báo phần tử mà bạn đang xem Javadoc của nó.

Hình 12. Di chuyển con trỏ bên trong cửa sổ bật lên biến nó thành một cửa sổ có khả năng cuộn được
Hình 12. Di chuyển con trỏ bên trong cửa sổ bật lên biến nó thành một cửa sổ có khả năng cuộn được

Tự động định dạng

Bạn có thể sử dụng chức năng tự động định dạng của Eclipse để tự động định dạng tài liệu. Nhấn chuột phải vào một tài liệu trong Package Explorer và chọn Source > Format. Bạn thậm chí có thể định dạng của toàn bộ dự án của mình bằng cách nhấn chuột phải vào dự án thay vì một tệp tin riêng trong Package Explorer.

Để cấu hình Eclipse định dạng mã của bạn như thế nào:

  1. Chọn Window > Preferences. Sau đó chuyển đến Java > Code Style > Formatter.
    Hình 13. Soạn thảo Eclipse định dạng các tài liệu của bạn như thế nào
    Hình 13. Soạn thảo Eclipse định dạng các tài liệu của bạn như thế nào
  2. Tạo ra một tệp lược thảo định dạng mới bằng cách nhấn vào New và nhập vào một tên trong cửa sổ vừa mở ra.
  3. Sau khi bạn tạo lược thảo, nhấn vào Edit để bắt đầu soạn thảo các tùy chọn định dạng ưa thích (Preferences) cho lược thảo này.
  4. Cửa sổ Profile đang mở có chứa các thông số cài đặt chi tiết để cấu hình định dạng mã nguồn của bạn (xem Hình 14). Bạn có thể cấu hình mọi thứ từ khoảng thụt đầu dòng bắt buộc cho mỗi phần tử trong mã nguồn đến số dòng trống xuất hiện giữa các nhóm nhập khẩu.
    Hình 14. Eclipse cho phép bạn cấu hình các thông số cài đặt định dạng của bạn một cách chi tiết
    Hình 14. Eclipse cho phép bạn cấu hình các thông số cài đặt định dạng của bạn một cách chi tiết
  5. Nhấn OK để đóng cửa sổ Profile. Nhấn OK lần nữa để đóng cửa sổ Preferences.

Lưu ý rằng các thông số cài đặt mới sẽ được áp dụng trong lần tiếp theo khi bạn định dạng mã nguồn của bạn.

Các hoạt động lưu trữ

Các hoạt động lưu trữ (Save Actions) được kích hoạt khi bạn lưu trữ một tài liệu. Chúng cho phép bạn thực hiện các việc như là định dạng mã của bạn và tổ chức nhập khẩu tự động khi bạn lưu tài liệu của bạn. Để cấu hình hành động lưu trữ:

  1. Chọn Window > Preferences > Java > Editor > Save Actions để mở cửa sổ Preferences.
    Hình 15. Cấu hình Save Actions trong cửa sổ Preferences
    Hình 15. Cấu hình Save Actions trong cửa sổ Preferences
  2. Đánh dấu chọn hộp Perform the selected actions on save.
  3. Chọn tất cả các hoạt động mà bạn muốn thực hiện khi lưu. Nhấn vào Configure để xem nhiều các hoạt động hơn nữa.
    Hình 16. Nhấn vào Configure để hiển thị nhiều các hoạt động hơn nữa
    Hình 16. Nhấn vào Configure để hiển thị nhiều các hoạt động hơn nữa
    Ví dụ, bạn có thể chọn đánh dấu hộp Convert for loops to enhanced trên phiếu Code Style để chuyển đổi tất cả các vòng lặp của bạn thành các vòng lặp nâng cao kiểu Java 5 mỗi khi bạn lưu tài liệu.

Các hoạt động lưu trữ có thể tiết kiệm cho bạn rất nhiều thời gian. Ví dụ, bạn có thể gõ vào mã của bạn theo bất cứ cách nào mà bạn muốn, không lo ngại về định dạng và nó vẫn sẽ được định dạng hoàn toàn tự động mỗi khi bạn lưu tài liệu của bạn.

Gập bớt mã nguồn

Gập bớt mã nguồn (Code folding) cho phép bạn gập che khuất từng đoạn mã sao cho trình soạn thảo không quá lộn xộn. Để gập che bớt một phương thức, nhấn vào biểu tượng - ở thước đo bên trái.

Hình 17. Nhấn vào biểu tượng - để gập bớt mã nguồn
Hình 17. Nhấn vào biểu tượng - để gập bớt mã nguồn

Khi bạn gập bớt mã, biểu tượng - chuyển thành +, để bạn có thể nhấn vào một lần nữa để mở gập phương thức đó. Nếu bạn di chuyển con trỏ trên dấu + khi phương thức được gập lại, một cửa sổ bật lên hiển thị văn bản bên trong phương thức đó.

Hình 18. Di chuyển con trỏ trên biểu tượng + cho thấy một khung nhìn trước về mã đã được gập lại
Hình 18. Di chuyển con trỏ trên biểu tượng + cho thấy một khung nhìn trước về mã đã được gập lại

Tạo phương thức hashCode()equals()

Eclipse cho phép bạn tự động tạo ra các phương thức hashCode()equals() cho các lớp của bạn sao cho bạn không cần phải tự mình làm điều đó. Theo cách này, bạn có thể tránh mắc lỗi trong khi viết các phương thức này. Để tạo ra các phương thức:

  1. Chọn Source > Generate hashCode() and equals().
  2. Cửa sổ mở ra hỏi bạn muốn bao gồm trường nào khi gọi các phương thức hashCode()equals() cho lớp của bạn.
    Hình 19. Chọn các trường để tạo ra các phương thức hashCode()equals() trong đó
    Hình 19. Chọn các trường để tạo ra các phương thức hashCode() và equals() trong đó
  3. Chọn các trường mà bạn muốn và nhấn OK. Các phương thức equals()hashcode() được tạo ra cho bạn.

Thước đo tổng quan

Thước đo tổng quan được nhúng vào bên phải của cửa sổ trình soạn thảo. Nó cho phép bạn thấy ngay lập tức các lỗi, các cảnh báo hoặc các dấu hiệu bất kỳ khác đòi hỏi bạn phải chú ý trong trình soạn thảo. Nếu có bất kỳ lỗi nào trong trình soạn thảo của bạn, thì góc trên bên phải thanh thước đo sẽ hiển thị một ô màu đỏ.

Hình 20. Ô màu đỏ trong thước đo tổng quan báo hiệu có một hay nhiều lỗi trong trình soạn thảo
Hình 20. Ô màu đỏ trong thước đo tổng quan báo hiệu có một hay nhiều lỗi trong trình soạn thảo

Mặt khác, một ô màu vàng có nghĩa là có các cảnh báo trong trình soạn thảo.

Hình 21. Thước đo tổng quan báo hiệu sự hiện diện của các cảnh báo trong trình soạn thảo
Hình 21. Thước đo tổng quan báo hiệu sự hiện diện của các cảnh báo trong trình soạn thảo

Sử dụng thước đo tổng quan, bạn có thể ngay lập tức nhảy đến vị trí lỗi/cảnh báo bất kỳ trong trình soạn thảo của bạn. Thước đo hiển thị một số các dấu đỏ/vàng ở bất kỳ đâu có một lỗi/cảnh báo xuất hiện trong trình soạn thảo của bạn (xem Hình 22). Nếu bạn nhấn chuột vào dấu đó, trình soạn thảo ngay lập tức nhảy đến vị trí thích hợp trong mã của bạn.

Hình 22. Thước đo tổng quan hiển thị hai cảnh báo và một ghi chú TODO
Hình 22. Thước đo tổng quan hiển thị hai cảnh báo và một ghi chú TODO

Thước đo tổng quan cũng có thể cho biết các điểm đáng chú ý khác trong trình soạn thảo của bạn. Ví dụ, nếu bạn có một ghi chú TODO hoặc nếu bạn thực hiện một việc tìm kiếm, các dòng liên quan được đánh dấu trên thước đo tổng quan; nhấn vào các dấu sẽ đưa bạn đến dòng tương ứng.

Như tên của nó gợi ý, thước đo tổng quan cho bạn một cái nhìn tổng quan về các dòng đáng quan tâm trong trình soạn thảo của bạn. Bạn sẽ nhận thấy nó là một người bạn vô giá khi bạn viết mã Java.


Kết luận

Bài viết này đã xem xét một số các đặc tính nâng cao của trình soạn thảo Java trong Eclipse. Bạn đã thấy làm thế nào để tạo ra các đoạn mã thông dụng một cách tự động. Bạn cũng đã học làm thế nào để đóng các khung nhìn Eclipse nhưng vẫn sử dụng được chức năng của chúng, nhờ có các phím tắt được trình soạn thảo Eclipse cung cấp. Bài viết này cũng đã thảo luận các đặc tính khác của trình soạn thảo Java để có thể cải thiện đáng kể năng suất của bạn.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Nguồn mở
ArticleID=395193
ArticleTitle=Làm chủ Eclipse V3.4, Phần 3: Các mẹo và các bí quyết của trình soạn thảo JDT
publish-date=06062009