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 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.List
và javax.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.
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:
- 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"; } - 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.
- 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ự
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
- 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
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.
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ũ:
- Gõ vào một lời gọi một phương thức:
public void foo() { getMsg(3); } - 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)
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
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
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
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
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 đã đượ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
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
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
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
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:
- 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
- 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.
- 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.
- 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
- 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ữ (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ữ:
- 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
- Đánh dấu chọn hộp Perform the selected actions on save.
- 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
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ạnthànhcá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 (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
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
Tạo phương thức
hashCode() và
equals()
Eclipse cho phép bạn tự động tạo ra các phương thức
hashCode() và
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:
- Chọn Source > Generate hashCode() and equals().
- 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()và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ứchashCode()vàequals()trong đó
- Chọn các trường mà bạn muốn và nhấn OK. Các phương thức
equals()vàhashcode()được tạo ra cho bạn.
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
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
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
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.
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.
Học tập
- Bắt đầu loạt bài
"Mastering Eclipse V3.4, Part 1:
The Eclipse IDE workbench."
Loạt bài tiếp tục với
"Mastering Eclipse V3.4, Part 2:
The JDT."
- Tìm thêm thông tin trong
Java Development User Guide in Eclipse
Help.
- Xem
Eclipse IDE Pocket Guide.
- Truy nhập trang chính thức
Những câu hỏi
thường gặp của Eclipse.
- Đọc
Eclipse for Dummies.
- Đọc
Eclipse Distilled.
- Xem
"Danh sách khuyến khích đọc các tài
liệu Eclipse."
- Duyệt qua tất cả
nội dung Eclipse
trên developerWorks.
- Bạn mới đến với Eclipse? Đọc bài viết
trong developerWorks
"Get started with Eclipse
Platform"
để tìm hiểu nguồn gốc và kiến trúc của nó và làm thế nào để mở rộng
Eclipse bằng các trình cắm thêm.
- Mở rộng các kỹ năng Eclipse của bạn bằng
cách xem
Các tài nguyên dự án Eclipse
của developerWorks IBM.
- Để nghe các cuộc phỏng vấn và các cuộc
thảo luận thú vị cho các nhà phát triển phần mềm, hãy xem
developerWorks
podcasts.
- Theo sát
Các sự kiện kỹ thuật và
webcasts
của developerWorks.
- Theo dõi và tìm hiểu về các công nghệ và
các chức năng sản phẩm IBM và mã nguồn mở với
các trình diễn mẫu theo yêu cầu
miễn phí
của developerWorks.
- Hãy ghi tên dự các hội nghị sắp tới, các
cuộc triển lãm thương mại, webcasts và
Các sự kiện
khác trên khắp thế giới đang được các nhà phát triển mã nguồn mở của IBM
quan tâm.
- Hãy truy cập vào
Vùng mã nguồn mở
của developerWorks để có được rất nhiều các thông tin hướng dẫn, các công
cụ và các cập nhật dự án, giúp bạn phát triển với các công nghệ mã nguồn
mở và sử dụng chúng với các sản phẩm của IBM.
Lấy sản phẩm và công nghệ
- Xem
Các bản tải về công nghệ
Eclipse mới nhất
tại alphaWorks của
IBM.
- Tải về
Eclipse Platform và các dự án
khác
từ Eclipse Foundation.
- Tải về
các phiên bản đánh giá sản phẩm
của IBM
và nhận các công cụ phát triển ứng dụng thực hành của bạn và các sản phẩm
phần mềm trung gian từ DB2®, Lotus®,
Rational®, Tivoli® và
WebSphere®.
- Đổi mới dự án
phát triển phần mềm mã nguồn mở tiếp theo của bạn bằng
phần mềm thử nghiệm của IBM
có sẵn để tải về hoặc trên đĩa DVD.
Thảo luận
-
Các nhóm tin chung về
nền tảng Eclipse
sẽ là điểm dừng đầu tiên của bạn để thảo luận các vấn đề về Eclipse. (Việc
lựa chọn này sẽ khởi chạy ứng dụng đọc tin tức Usenet mặc định của bạn và
mở eclipse.platform).
-
Các nhóm tin chung về
Eclipse
có nhiều tài nguyên cho những người quan tâm đến việc sử dụng và mở rộng
Eclipse.
- Tham gia vào
các blog của DeveloperWorks
bắt đầu tham gia vào cộng đồng developerWorks.
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