Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Tùy chỉnh một bản mẫu hiện có để giải quyết các yêu cầu cụ thể Li Li Lin ([email protected]) Kỹ sư phần mềm IBM China 06 07 2009 Jie Tang ([email protected]) Kỹ sư phần mềm IBM China Các bản mẫu trình cắm thêm (plug-in) trong Eclipse sẽ có ích khi mà chúng đáp ứng các nhu cầu của người sử dụng. Khi một yêu cầu cụ thể vượt ra ngoài phạm vi của một bản mẫu mặc định, lúc này cần phải tùy biến bản mẫu. Bài viết này cung cấp một cái nhìn thấu đáo về cách làm thế nào để tùy chỉnh một bản mẫu dự án trình cắm thêm trong Eclipse, nói thêm kỹ hơn về việc triển khai thực hiện nhiều phân đoạn và kiểm soát nhiều phân đoạn (section) bên trong các bản mẫu, giới thiệu các phương thức tuỳ chỉnh thành phần UI để cải thiện tính tiện dụng, minh hoạ một cách để bổ sung thêm chức năng xác nhận hợp lệ đầu vào ở phía UI và giải thích làm thế nào để tự động tổ chức cấu trúc thư mục của dự án trình cắm thêm. Nếu trước đây bạn đã tạo một dự án trình cắm thêm trong Eclipse, bạn đã quen thuộc với các bản mẫu dự án trình cắm thêm đã thiết lập, chúng cung cấp một điểm khởi đầu thuận lợi cho các dự án mới. Các bản mẫu trình cắm thêm hiện có có thể tiết kiệm rất nhiều thời gian, nhưng chúng không phải là có quyền năng vô hạn. Một thách thức khi sử dụng chúng là tìm kiếm các bản mẫu thỏa mãn các yêu cầu của những người sử dụng. Tuy nhiên, các bản mẫu chỉ cung cấp một số các chức năng nhất định nào đó, trong khi các yêu cầu của những người sử dụng rất đa dạng và hầu như những người đã tạo ra các bản mẫu không thể hoàn toàn đoán trước được các yêu cầu đó. Tùy chỉnh các bản mẫu là một cách thông minh để mang lại cho những người sử dụng các trình cắm thêm mà họ cần, đồng thời không phải viết chúng từ đầu. Trong bài viết này, hãy tìm hiểu về: • Làm thế nào để tùy chỉnh bản mẫu dự án trình cắm thêm trong Eclipse. • Các đặc tính cao cấp của các bản mẫu, như là việc triển khai thực hiện và kiểm soát nhiều phân đoạn, tuỳ chỉnh thành phần UI và xác nhận hợp lệ. © Copyright IBM Corporation 2009 Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Nhẫn hiệu đăng ký Trang 1 của 14 developerWorks® ibm.com/developerWorks/vn/ • Các công cụ để tổ chức cấu trúc thư mục dự án một cách tự động. Các điều kiện cần trước Bài viết này được viết cho các nhà phát triển công nghệ Java™ quen thuộc với Eclipse và có quan tâm đến việc xây dựng các trình cắm thêm. Nó giả thiết bạn đã có một sự hiểu biết cơ bản về các trình cắm thêm và các công cụ phát triển dựa trên Eclipse nói chung. Để xây dựng ví dụ về các trình cắm thêm, bạn cần một máy tính có cài đặt một bản Eclipse (V3.4 hoặc mới hơn) và một môi trường thực thi Java (Java Runtime Environment-JRE) hiện tại. Công việc ở đây là dựa vào bài báo của developerWorks "Xây dựng các bản mẫu với Môi trường phát triển các trình cắm thêm của Eclipse." Nếu bạn là người mới bắt đầu với các bản mẫu trình cắm thêm, chúng tôi đề nghị bạn bắt đầu với bài viết đó, trong đó nó giới thiệu làm thế nào để tạo một bản mẫu. Bởi vì đó là bài viết giới thiệu nhập môn nên bản mẫu mà nó trình bày thiếu các đặc tính mà chúng tôi sẽ cung cấp tại đây, trong đó bao gồm các đặc tính sau. Việc triển khai thực hiện và kiểm soát nhiều phân đoạn Thông thường, một phân đoạn (section) của một bản mẫu trình cắm thêm được định nghĩa như là một mô đun chức năng gắn kết chặt chẽ, chứa các tệp tin phụ thuộc lẫn nhau rất mạnh, được thiết lập hoặc được tạo ra dựa trên cơ sở dữ liệu nhập vào của người sử dụng. Các tệp tin trong cùng một phân đoạn sẽ hoặc được sao chép tất cả cùng với nhau vào trong dự án đích hoặc không sao chép tệp nào cả. Một người sử dụng có thể định nghĩa một phân đoạn là bắt buộc hay tùy chọn. Các tệp tin trong phân đoạn bắt buộc phải được bao gồm vào trong dự án trình cắm thêm, trong khi các tệp trong phân đoạn tùy chọn sẽ được sao chép theo sự lựa chọn. Điều này rất có ích khi một bản mẫu trình cắm thêm cung cấp một tập hợp chức năng rộng hơn, nhưng một dự án chỉ cần một tập con trong đó. Tuỳ chỉnh thành phần UI Eclipse cung cấp một số thành phần UI mặc định cho một bản mẫu dự án trình cắm thêm. Những thành phần UI cơ bản này cung cấp các chức năng có hạn chế. Để cải thiện khả năng sử dụng và chức năng, chúng ta đôi khi cần phải tùy chỉnh các thành phần phức tạp. Chức năng xác nhận hợp lệ đầu vào Nó làm tăng khả năng kiểm soát xác nhận tính hợp lệ của dữ liệu. Tổ chức cấu trúc thư mục của dự án trình cắm thêm một cách tự động Các tài nguyên trong dự án của trình cắm thêm có thể được tổ chức thành một thư mục đặc thù, sử dụng một bản mẫu. Việc này tiết kiệm rất nhiều công sức. Các đặc tính mở rộng ấy làm cho một bản mẫu trình cắm thêm có tính co giãn hơn, hữu dụng hơn và hiệu quả hơn. Trong những phần sau, chúng tôi trình bày một bản mẫu tiêu biểu, sử dụng tất cả các đặc tính này. Nghiên cứu trường hợp tiêu biểu: Thảo luận sâu về một bản mẫu trình cắm thêm Giả sử rằng cần có một nhóm các dự án trình cắm thêm. Chúng được sử dụng để xây dựng các phối cảnh Eclipse khác nhau, ví dụ như phối cảnh Java và phối cảnh Web. Một dự án dành để phát triển một phối cảnh. Mỗi phối cảnh có thể có một vài khung nhìn. Mỗi khung nhìn có các tài nguyên liên quan, ví dụ như hình ảnh và các tệp tin nguồn Java được tạo ra tự động, cần phải được sao chép Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 2 của 14 ibm.com/developerWorks/vn/ developerWorks® vào dự án của nó. Số lượng các khung nhìn trong một phối cảnh và tên của mỗi khung nhìn được xác định bởi mỗi phối cảnh cá thể. Tùy chỉnh một bản mẫu của trình cắm thêm là một cách thích hợp để tạo ra các dự án đích này. Tạo ra một bản mẫu đơn giản Để bắt đầu, hãy tạo ra một dự án trình cắm thêm mới (File > New > Project > Plug-in Project). Hãy chắc chắn đánh dấu chọn hộp kiểm tra Trình cắm thêm này sẽ có đóng góp thêm vào các UI (This plug-in will make contribution to the UI). Đó là vì các dự án đích trong mẫu này dành để phát triển phối cảnh, trong đó sẽ sử dụng UI. Một khi dự án mới được tạo ra, một mở rộng của trình thủ thuật bản mẫu, là mở rộng của lớp org.eclipse.pde.ui.plugin.Content cũng sẽ được thêm vào trong plugin.xml. Đặc tính mới A: Việc triển khai thực hiện và kiểm soát nhiều phân đoạn Khi chúng ta xem xét kỹ hơn trường hợp nêu trên, chúng ta phát hiện một vấn đề về tùy chỉnh bản mẫu. Bởi vì số các khung nhìn cho mỗi phối cảnh có thể thay đổi, các tài nguyên có liên quan không thể được tạo ra và sao chép vào dự án đích của nó trước khi cho biết con số này. Để giải quyết vấn đề này, chúng ta xem xét hai giải pháp. Một phương pháp phổ biến là tạo ra một mẫu cho mỗi loại phối cảnh, ở đây tất cả các phối cảnh đều có số lượng khung nhìn bằng nhau được lắp ghép lại. Một phương pháp khác hiệu quả hơn và cao cấp hơn. Một bản mẫu duy nhất được tạo ra cho tất cả các loại phối cảnh. Sự liên kết giữa các khung nhìn và phối cảnh được quản lý bằng việc kiểm soát các phân đoạn. Thêm các phần mở rộng cho phân đoạn khung nhìn và phân đoạn phối cảnh Trong ví dụ này, chúng ta chia tất cả các tài nguyên thành hai phân đoạn. Chúng ta sử dụng phân đoạn phối cảnh để quản lý các tài nguyên phối cảnh và sử dụng phân đoạn khung nhìn để quản lý các tài nguyên khung nhìn. Nếu một người dùng muốn một phối cảnh không có các khung nhìn nào, sẽ không có bất kỳ các tài nguyên khung nhìn nào được sao chép vào trong dự án tương ứng. Tương tự, nếu một người sử dụng muốn một phối cảnh có chín khung nhìn, chín khung nhìn sẽ được đăng ký vào trong các phối cảnh của chúng và các tài nguyên khung nhìn sẽ được tạo ra và được sao chép lặp lại vào trong dự án đích của nó. Để tạo ra hai phân đoạn này, chúng ta cần phải bổ sung thêm các phần mở rộng trong phiếu Extensions của trình soạn thảo kê khai trình cắm thêm. Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 3 của 14 developerWorks® ibm.com/developerWorks/vn/ Hình 1. Phiếu Các phần mở rộng — phân đoạn Phối cảnh Hình 2. Phiếu Các phần mở rộng — phân đoạn Khung nhìn Triển khai thực hiện các phân đoạn Hình 3 cho thấy cấu trúc của dự án bản mẫu. Năm tệp tin mới (SampleWizard.java, PerspectiveSection.java, ViewSection.java, $perspectiveClassName$.java và $viewClassName $.java) được tạo ra trong mẫu này. Chúng là phần chính của một dự án. Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 4 của 14 ibm.com/developerWorks/vn/ developerWorks® Hình 3. Cấu trúc của dự án bản mẫu và ViewSection là các lớp con của OptionTemplateSection, được sử dụng để biểu diễn một phân đoạn của một trình thủ thuật của bản mẫu. Chúng có ba chức năng chính: để tạo một UI cho bản mẫu, để giữ các biến được nhập vào từ UI và để cập nhật mô hình trình cắm thêm. Bảng 1 cho thấy mô tả các phương thức của các lớp phân đoạn. PerspectiveSection Bảng 1. Mô tả các phương thức của các lớp phân đoạn Tên phương thức Mô tả chức năng initializeFields Khởi tạo các tùy chọn trên các trang của trình thủ thuật bằng cách sử dụng các thông số đầu vào. Một số tùy chọn có thể tùy thuộc vào sự lựa chọn của người sử dụng trong các bước trước đó của trình thủ thuật. addPages Thêm các trang liên quan đến bản mẫu vào trình thủ thuật. getStringOption Nhận tên tùy chọn. getSectionId Trả về mã nhận dạng ID của phân đoạn. updateModel Thêm các mục cần thiết vào trong mô hình trình cắm thêm. và $viewClassName$.java là các tệp tin bản mẫu sẽ được tự động dịch sang các tệp tin mã nguồn Java của dự án đích. Các tệp tin bản mẫu rất đơn giản trong mẫu này. Chúng ta chỉ tạo một danh sách cho mỗi khung nhìn, sau đó thêm những khung nhìn này vào trong phối cảnh. $perspectiveClassName$.java Tiếp theo là đưa việc kiểm soát phân đoạn vào trong hành vi của trình thủ thuật. Lớp SampleWizard là một lớp con của NewPluginTemplateWizard, được sử dụng như là một bản mẫu trình thủ thuật cho trình cắm thêm. Chúng ta có thể cấp phát một phân đoạn cụ thể cho dự án trình cắm thêm đích Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 5 của 14 developerWorks® ibm.com/developerWorks/vn/ thông qua lớp SampleWizard. Phương thức performFinish thừa kế từ lớp bậc trên (super-class). Nó có thể được sử dụng để thực hiện một quá trình kết thúc đặc biệt trong một trình thủ thuật, kể cả duyệt qua một vòng các phân đoạn của bản mẫu và tuần tự thực hiện chúng để tạo ra các tệp tin cho dự án đích. Liệt kê 1 hiển thị những phân đoạn đã được đăng ký trong một trình thủ thuật và các hành động chính trong phương thức performFinish. Liệt kê 1. SampleWizard.java //register all related sections in wizard public ITemplateSection[] createTemplateSections() { return new ITemplateSection[] { new PerspectiveSection(), new ViewSection() }; } public boolean performFinish(final IProject project, IPluginModelBase model, IProgressMonitor monitor) { ... ITemplateSection[] sections = super.getTemplateSections(); //monitor finish action in this wizard monitor.beginTask("perform finish", sections.length); ... //get sections for (int i = 0; i <sections.length; i++) { if (sections[i].getClass().equals(PerspectiveSection.class)) { perspectiveSection = (PerspectiveSection) sections[i]; } else if (sections[i].getClass().equals(ViewSection.class)) { viewSection = (ViewSection) sections[i]; } } ... //set variables to sections and manage sections ... viewSection.setViewClassName(values[j]); viewSection.setSourcePath(sourceFolderName); viewSection.execute(project, model, new SubProgressMonitor(monitor, 1)); perspectiveSection.setSourcePath(sourceFolderName); perspectiveSection.setViewNames(viewNames); perspectiveSection.execute(project, model, new SubProgressMonitor(monitor, 1)); } Đặc tính mới B: Tùy chỉnh thành phần UI Như đã đề cập, một phối cảnh có thể có nhiều khung nhìn như người sử dụng mong muốn và tên của mỗi khung nhìn có thể được người sử dụng thiết lập. Để thu thập tất cả các khung nhìn trong một phối cảnh, chúng ta thiết kế một bảng điều khiển đầu vào, như chỉ ra dưới đây. Nó có một trường Tên lớp của khung nhìn (View Class Name) và một trường Danh sách khung nhìn (View List). Người sử dụng có thể nhập vào tên lớp của khung nhìn và thêm nó vào danh sách khung nhìn bằng cách nhấn chuột vào nút Add. Tương tự, người sử dụng cũng có thể loại bỏ một khung nhìn bằng cách sử dụng nút Remove. Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 6 của 14 ibm.com/developerWorks/vn/ developerWorks® Hình 4. Các tùy chọn bản mẫu đã tùy chỉnh Để tạo các tùy chọn bản mẫu này, ta thêm lớp ViewOption, là mở rộng của lớp TemplateOption, vào trong dự án bản mẫu (xem Hình 3). Chúng ta sử dụng nó để thiết lập các thành phần UI và lưu trữ các giá trị nhập vào của người sử dụng. Liệt kê 2 hiển thị làm thế nào để tùy chỉnh một thành phần UI với một danh sách khung nhìn, cộng thêm hai nút nhấn. Liệt kê 2. ViewOption.java //add UI components in this panel public void createControl(Composite parent, int span) { ... //create View List listLabel = new Label(parent, SWT.LEFT); listLabel.setText("View List:"); listViewerField = new ListViewer(parent); listField = (List) listViewerField.getControl(); GridData listGridData = new GridData(GridData.FILL_HORIZONTAL); listGridData.heightHint = 100; listField.setLayoutData(listGridData); ... //create add button addButton = new Button(parent, SWT.PUSH); addButton.setText("Add"); ... addButton.setLayoutData(addBtnData); addButton.addSelectionListener(...); //create remove button removeButton = new Button(parent, SWT.PUSH); ... removeButton.addSelectionListener(...); } Đặc tính mới C: Chức năng xác nhận tính hợp lệ đầu vào Chức năng xác nhận tính hợp lệ đầu vào đề cập đến một quy trình xác nhận hợp lệ của tất cả các giá trị nhập vào của người sử dụng trước khi sử dụng chúng. Chức năng xác nhận tính hợp lệ đầu vào mang tính quyết định với việc bảo mật ứng dụng. Trong mẫu của chúng ta, chúng ta định nghĩa Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 7 của 14 developerWorks® ibm.com/developerWorks/vn/ một quy tắc xác nhận hợp lệ: Đối với tất cả các khung nhìn trong một phối cảnh, tên lớp của khung nhìn phải là duy nhất. Nếu quy tắc này bị vi phạm, một thông báo lỗi sẽ được hiển thị trên đỉnh của bảng điều khiển. Hình 5. Xác nhận hợp lệ của các tùy chọn bản mẫu đã tùy chỉnh Chức năng xác nhận tính hợp lệ đầu vào có thể được triển khai thực hiện bằng cách gọi phương thức validateOptions trong lớp phân đoạn tương ứng. Phương thức này kế thừa từ lớp bậc trên và chúng ta có thể viết đè lên nó để thực hiện chức năng xác nhận hợp lệ riêng của chúng ta. Liệt kê 3 hiển thị phương thức validateOptions trong mẫu của chúng ta. Liệt kê 3. Phương thức validateOptions trong ViewSection.java public void validateOptions(TemplateOption source) { this.getPage(0).setErrorMessage(null); ViewOption viewOption = (ViewOption) source; Text textField = viewOption.getTextField(); List listField = viewOption.getListField(); String[] items = listField.getItems(); if (items != null && items.length > 0) { //validation rule check for (int i = 0; i < items.length; i++) { if (items[i].equals(textField.getText())) { this.getPage(0).setErrorMessage("Class name '" + textField.getText() + "' already exists in View List."); break; } } } } Đặc tính mới D: Tự động tổ chức các cấu trúc thư mục của một dự án trình cắm thêm Một trong các mục tiêu của chúng ta là để cho các bản mẫu tự động tổ chức cấu trúc thư mục cho các dự án trình cắm thêm đích. Chúng ta thực hiện việc này theo ba bước sau: Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 8 của 14 ibm.com/developerWorks/vn/ developerWorks® 1. Lưu trữ các cấu trúc thư mục của dự án đích bằng cách sử dụng các biến. 2. Viết một kịch bản lệnh Ant, mà nó sẽ được sử dụng để tạo ra cấu trúc thư mục đích và gán các tài nguyên vào trong các thư mục thích hợp. 3. Thêm IResourceChangeListener để giám sát vùng làm việc của bản mẫu. Kích hoạt thực hiện kịch bản lệnh Ant sau khi việc tạo tệp tin của phân đoạn đã hoàn thành. Triển khai thực hiện • Để đơn giản hóa, chúng ta giả sử tất cả các tệp tin Java được sao chép vào trong một gói sử dụng cùng một tên như tên của dự án. Ví dụ, nếu một dự án có tên là com.ibm.template, tất cả các tệp tin Java sẽ nằm trong gói com.ibm.template. Bàn về việc này vượt ra ngoài phạm vi của bài viết. Xem "Xây dựng các bản mẫu với Môi trường phát triển trình cắm thêm của Eclipse" để biết chi tiết. • Liệt kê 4 cho thấy kịch bản lệnh Ant mà chúng ta sử dụng trong mẫu này. Nó có ba đích (target). Đích thứ nhất tạo ra một cấu trúc thư mục dựa trên đường dẫn nguồn và đường dẫn gói. Đích thứ hai sao chép tất cả các tệp tin Java vào đúng thư mục. Đích cuối cùng loại bỏ tệp tin kịch bản lệnh này khỏi dự án trình cắm thêm mới. • Thêm IResourceChangeListener vào trong phương thức performFinish của lớp SampleWizard. Liệt kê 5 cho thấy triển khai thực hiện của trình lắng nghe này. Liệt kê 4. CreatePackage.xml <?xml version="1.0"?> <project name="template project" default="clean" basedir="."> <property name="package" value=".\$sourcePath$\$packagePath$"></property> <target name="create"> <mkdir dir="$dollarMark${package}"/> </target> <target name="move" depends="create"> <move todir="$dollarMark${package}"> <fileset dir="."> <include name="*.java"/> </fileset> </move> </target> <target name="clean" depends="move"> <delete dir="."> <include name="CreatePackage.xml"/> </delete> </target> </project> Liệt kê 5. SampleWizard.java — Listener public boolean performFinish(final IProject project, IPluginModelBase model, IProgressMonitor monitor) { ... //get workspace final IWorkspace workspace = ResourcesPlugin.getWorkspace(); //get Ant file String antFilePath = "CreatePackage.xml"; final IFile file = project.getFile(antFilePath); //add Listener to monitor resource changing IResourceChangeListener listener = new IResourceChangeListener() { public void resourceChanged(IResourceChangeEvent event) { Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 9 của 14 developerWorks® ibm.com/developerWorks/vn/ try { if (event.getType() == IResourceChangeEvent.POST_CHANGE) { IResourceDelta rootDelta = event.getDelta(); IPath filePath = file.getFullPath(); IResourceDelta targetDelta = rootDelta.findMember(filePath); if (targetDelta != null) { URI uri = file.getLocationURI(); File antFile = new File(uri); //run Ant script Project project = new Project(); project.fireBuildStarted(); project.init(); ProjectHelper helper = ProjectHelper.getProjectHelper(); helper.parse(project, antFile); project.executeTarget(project.getDefaultTarget()); project.fireBuildFinished(null); workspace.removeResourceChangeListener(this); } } } catch (Exception e) { e.printStackTrace(); } } }; workspace.addResourceChangeListener(listener); ... } Sử dụng bản mẫu Sau khi chúng ta tạo một dự án của trình cắm thêm mới, chúng ta cần phải làm mới dự án. Nhấn chuột phải vào dự án và chọn mục Refresh trong trình đơn. Đó là do kịch bản lệnh Ant của chúng ta được thực hiện sau khi tạo ra dự án. Chúng ta cần phải làm mới dự án trong IDE Eclipse bằng tay. Liệt kê 6 là dự án trình cắm thêm được tạo ra thông qua bản mẫu tiêu biểu được thảo luận trong "Nghiên cứu trường hợp tiêu biểu: Thảo luận sâu về một bản mẫu trình cắm thêm." Hình 6. Cấu trúc của dự án mới Bạn cần phải xuất khẩu mới dự án mới này tới thư mục [eclipse_home]\plugins, sau đó khởi động lại Eclipse với các tham số dòng lệnh -clean. Sau khi Eclipse khởi động, hãy kiểm tra xem phối cảnh của chúng ta đã được thêm vào trong danh sách phối cảnh chưa (xem trong Hình 7). Chọn myplugin perspective, sau đó nhấn OK. Phối cảnh này sẽ mở ra. Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 10 của 14 ibm.com/developerWorks/vn/ developerWorks® Hình 7. Danh sách phối cảnh Kết luận Thông qua bài viết này, bạn sẽ có hiểu biết sâu hơn về bản mẫu trình cắm thêm của Eclipse. Bạn đã học cách làm thế nào để tạo một thành phần nhập vào đã tùy chỉnh, làm thế nào để kiểm soát việc tạo ra các tệp tin bản mẫu và làm thế nào để sử dụng một bản mẫu để tạo ra các dự án trình cắm thêm có cấu trúc thư mục khác nhau. Bằng cách tận dụng các đặc tính bản mẫu này, bạn sẽ nhận thấy thật dễ dàng tạo ra dự án trình cắm thêm. Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 11 của 14 developerWorks® ibm.com/developerWorks/vn/ Các tải về Mô tả Tên Kích thước Sample plug-in template os-eclipse-plugin-templates.zip 33KB Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 12 của 14 ibm.com/developerWorks/vn/ developerWorks® Tài nguyên Học tập • Tìm hiểu nhiểu hơn về cơ sở tạo bản mẫu trong "Building templates with the Eclipse Plug-in Development Environment." • Tìm hiểu nhiểu hơn về Plug-in Development Environment (PDE). • Tìm hiểu nhiểu hơn về việc sử dụng bản mẫu trong "Building Eclipse plug-ins using templates." • Xem "Danh sách khuyến cáo đọc về 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ụ thực hành phát triển ứng dụng 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 developerWorks blogs và tích cực hoạt động trong cộng đồng. Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 13 của 14 developerWorks® ibm.com/developerWorks/vn/ Đôi nét về các tác giả Li Li Lin Li Li Lin là một kỹ sư phần mềm tại IBM Director tập trung vào việc phát triển có liên quan đến - OSGI. Chị thành thạo trong việc phát triển các trình cắm thêm và có nhiều kinh nghiệm với các dự án dựa trên web. Jie Tang Jie Tang là một kỹ sư phần mềm tại các phòng thí nghiệm Công nghệ và Hệ thống ở IBM Trung Quốc và tập trung vào phần mềm quản lý hệ thống. Anh hiện đang làm việc trong dự án quản lý cấu hình IBM Director. Anh cũng quan tâm đến các dự án mã nguồn mở. © Copyright IBM Corporation 2009 (www.ibm.com/legal/copytrade.shtml) Nhẫn hiệu đăng ký (www.ibm.com/developerworks/vn/ibm/trademarks/) Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn Trang 14 của 14