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 Prashant Deva Sáng lập viên Placid Systems 06 06 2009 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ó. Xem thêm bài trong loạt bài này 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.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. © Copyright IBM Corporation 2009 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 Nhẫn hiệu đăng ký Trang 1 của 16 developerWorks® ibm.com/developerWorks/vn/ 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ự 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 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 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ộ. 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 Trang 2 của 16 ibm.com/developerWorks/vn/ developerWorks® 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õ. 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 Trang 3 của 16 developerWorks® ibm.com/developerWorks/vn/ 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 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 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 Trang 4 của 16 ibm.com/developerWorks/vn/ developerWorks® 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 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 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ó. 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 Trang 5 của 16 developerWorks® ibm.com/developerWorks/vn/ 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. 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 Trang 6 của 16 ibm.com/developerWorks/vn/ developerWorks® 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. 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 Trang 7 của 16 developerWorks® ibm.com/developerWorks/vn/ 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. 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 Trang 8 của 16 ibm.com/developerWorks/vn/ developerWorks® 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. 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 Trang 9 của 16 developerWorks® ibm.com/developerWorks/vn/ 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 Convert for loops to enhanced trên Code Style dấu hộp phiếu để 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 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 đó. 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 Trang 10 của 16 ibm.com/developerWorks/vn/ developerWorks® 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: 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() 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ức hashCode() và equals() trong đó 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 Trang 11 của 16 developerWorks® ibm.com/developerWorks/vn/ 3. 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 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. 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 Trang 12 của 16 ibm.com/developerWorks/vn/ developerWorks® 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. 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 Trang 13 của 16 developerWorks® ibm.com/developerWorks/vn/ Tài nguyê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. 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 Trang 14 của 16 ibm.com/developerWorks/vn/ developerWorks® • Tham gia vào các blog của DeveloperWorks bắt đầu tham gia vào cộng đồng developerWorks. 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 Trang 15 của 16 developerWorks® ibm.com/developerWorks/vn/ Đôi nét về tác giả Prashant Deva 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 © Copyright IBM Corporation 2009 (www.ibm.com/legal/copytrade.shtml) Nhẫn hiệu đăng ký (www.ibm.com/developerworks/vn/ibm/trademarks/) 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 Trang 16 của 16