Jump to: navigation, search

FAQ Language integration phase 4: What are the finishing touches?

Revision as of 15:37, 14 March 2006 by Claffra (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

After following the steps in phases 1 to 3, you have successfully written a compiler, a builder, a DOM, and an integrated editor. What remains are a few finishing touches:


  • Add a project wizard. Your language may benefit from similar

wizards as provided by JDT to create projects, classes, and interfaces. SeeFAQ_What_wizards_do_I_define_for_my_own_language?


 

  • Declare a project nature. Natures can

be used to facilitate the enablement of builders on certain projects. SeeFAQ_When_does_my_language_need_its_own_nature?

 

  • Declare a perspective. Perspectives

can be used to organize views and editors into a cohesive, collaborative set of tools. SeeFAQ_When_does_my_language_need_its_own_perspective?

 

  • Add documentation. Traditionally this is done as one of the last steps

in any agile software project. Eclipse has support for adding documentation to a set of plug-ins through its help system, accessed with Help > Help Contents.... Context-sensitive help can be activated by using F1. For more information about how to add documentation and help for your language, seeFAQ_How_do_I_add_documentation_and_help_for_my_own_language?

 

  • Add source level debugging support. Implementing support

for source-level debugging is arguably the most difficult to implement, even in the highly configurable Eclipse. SeeFAQ_How_do_I_support_source-level_debugging_for_my_own_language? for a discussion.


Congratulations. You followed all steps outlined in the four phases of language integration and are to be commended for getting this far. Writing an IDE in Eclipse is the most elaborate and wide-ranging exercise to perform on top of Eclipse.


This FAQ was originally published in Official Eclipse 3.0 FAQs. Copyright 2004, Pearson Education, Inc. All rights reserved. This text is made available here under the terms of the Eclipse Public License v1.0.