The first thing to understand is what makes “project type” in
Eclipse. The core Eclipse resources framework has this concept of “natures”
which are basically flags on a project. Any interesting project will have a
number of natures associated with it. You can see these in project metadata if
you look at the .project file. Most of the project creation wizards in Eclipse
reduce roughly to these steps: (a) create a blank project, (b) assign the
project some natures, and (c) set other metadata and write any relevant content
into project.
There is a pretty good article that talks about natures and
builders together. You will need to know about both to implement your language
support.
http://www.eclipse.org/articles/Article-Builders/builders.html
Of course, all the cool kids play with “facets” rather than
“natures” these days. While natures can only be manipulated at API level by
project wizards and the like, facets are visible and can be manipulated by the
end users. This makes it easy to enable particular technology in existing
projects (especially projects that you didn’t create). You can read more
about facets in the following article:
http://www.eclipse.org/articles/Article-BuildingProjectFacets/tutorial.html
The facets technology is currently part of the Eclipse Web Tools
Platform, but is in the process of being extracted into a separate project to
make wider reuse easier.
http://www.eclipse.org/proposals/fproj/
http://www.eclipse.org/fproj/
(just created, more content to come soon)
- Konstantin
From:
pde-dev-bounces@xxxxxxxxxxx [mailto:pde-dev-bounces@xxxxxxxxxxx] On Behalf
Of Tyler Kocheran
Sent: Wednesday, December 17, 2008 1:10 PM
To: pde-dev@xxxxxxxxxxx
Subject: [pde-dev] Creating a Language Support project
Hello Eclipse PDE World!
I'm interested in building an Eclipse plugin to support a language (the
language isn't really important). I understand the concepts of views and
editors in Eclipse, but all of the documentation that I've looked at so far has
been extremely vague on developing a type of project. For example, how would I
create my own "{Language} Project" like the "Java Project"
template? I understand a little about wizards, but it seems that creating a project
is beyond the scope of just a simple wizard that creates it. Files can be and
usually are associated with a project, validation is associated with a project,
etc. How do I do this? What extensions do I have to make?
- TK
--
And do this, knowing the time, that now it is high time to awake out of sleep;
for now our salvation is nearer than when we first believed.
Notice: This email message, together with any attachments, may contain
information of BEA Systems, Inc., its subsidiaries and affiliated entities,
that may be confidential, proprietary, copyrighted and/or legally privileged,
and is intended solely for the use of the individual or entity named in this
message. If you are not the intended recipient, and have received this message
in error, please immediately return this by email and then delete it.