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ể

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.

Li Li Lin, Kỹ sư phần mềm, IBM China

Li Li LinLi 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, Kỹ sư phần mềm, IBM China

Jie TangJie 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ở.



06 07 2009

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ệ.
  • 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 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.

Hình 1. Phiếu Các phần mở rộng — phân đoạn Phối cảnh
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
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.

Hình 3. Cấu trúc của dự án bản mẫu
Cấu trúc của dự án bản mẫu

PerspectiveSectionViewSection 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.

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ứcMô tả chức năng
initializeFieldsKhở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.
addPagesThêm các trang liên quan đến bản mẫu vào trình thủ thuật.
getStringOptionNhận tên tùy chọn.
getSectionIdTrả về mã nhận dạng ID của phân đoạn.
updateModelThêm các mục cần thiết vào trong mô hình trình cắm thêm.

$perspectiveClassName$.java$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.

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 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.

Hình 4. Các tùy chọn bản mẫu đã tùy chỉnh
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 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
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:

  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) {
            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
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.

Hình 7. Danh sách phối cảnh
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ải về

Mô tảTênKích thước
Sample plug-in templateos-eclipse-plugin-templates.zip33KB

Tài nguyên

Học tập

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

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.

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=407143
ArticleTitle=Tạo bản mẫu trình cắm thêm vào Eclipse của riêng bạn
publish-date=07062009