Nodeclipse - Node.js & Java development in Eclipse-based IDE
Developing with Nodeclipse, Enide Studio
Read https://nodeclipse.github.io/ that has News, post Shares, Installing details, Features list, Usage (incl Video, Demo) with all shortcuts, Help and Hints, Support options, Where Helping needed, How to thank and Contact us, also History page.
Hello, I am Paul Verest, one of Nodeclipse contributors.
In January 2013 I just started developing Node.js in Eclipse without any plugins, but then I came to the point "how to debug?".
That lead me to know Nodeclipse 0.2 by Tomoyuki Inagaki, that by that time was fork in his own account.
We unified 0.2 back into Nodeclipse organization (it automatically got name
nodeclipse repository was there),
the rest can be seen in history.
First give a try (using Eclipse IDE for Eclipse Committers or any Eclipse/Enide Studio with PDE installed):
git clone https://github.com/Nodeclipse/nodeclipse-1.gitor EGit equivalent
- (optionally, recommended) run
mvn packageto make sure the build passes locally and you got all dependencies, this way you won't need waiting Eclipse downloading (that can make it unresponsive)
- import as existing project "nodeclipse-1" (only root, that is general project, without any builds). Now you already can navigate over code
- in Project Explorer right-click a plugin project folder, e.g. "org.nodeclipse.enide.editors.jade", select "Select Import as Project"
- right-click chosen plugin project as select Run As -> Eclipse Application
Now you have Eclipse running with the latest version of chosen plugin!
Make your changes to the code and see it running (for some cases without launch Eclipse restart).
For example try changes Jade keywords in
To go on some minimal Java & Eclipse plugin development skills are needed for improving code base. Check "Plug-in development 101" http://www.ibm.com/developerworks/library/os-eclipse-plugindev1/ as great tutorial by Chris Aniszczyk (2008). That will be great starting point, that lets you get understanding. For future references there is also often updated "Eclipse 4 RCP - Tutorial" http://www.vogella.com/tutorials/EclipseRCP/article.html for new evolving e4 API by Lars Vogel.
Try out next version from this sources just by
mvn package , then install from .zip (see Maven build below for more).
You don't need import all project, and please change only one project per Pull Request.
Check README.md in project modules (e.g.
org.nodeclipse.debug ). See launching Node.js logic in
Developing with PDE
From plugin.xml form click Run as Eclipse application.
If memory is not enough (getting
java.lang.OutOfMemoryError: PermGen space error when when running or debugging),
change in launch configuration for Eclipse Application -> Arguments -> VM Arguments
-Dosgi.requiredJavaVersion=1.6 -Xms128m -Xmx784m -XX:MaxPermSize=128m -Xss2m
FYI when launching Eclipse Application
Command-line arguments: -product org.eclipse.platform.ide -data D:\Progs\Enide-Monster-08-kepler-win32\ws/../runtime-EclipseApplication -dev file:D:/Progs/Enide-Monster-08-kepler-win32/ws/.metadata/.plugins/org.eclipse.pde.core/Eclipse Application/dev.properties -os win32 -ws win32 -arch x86 -consoleLog
Developing doesn't require maven usage, just import one project e.g.
org.nodeclipse.ui into Eclipse with PDE.
Maven build is optional for full build with other plugins.
From Nodeclipse-1 base folder just run
mvn package. Run offline when to re-build
mvn clean package -o.
mvn clean package -Pquick builds in
org.nodeclipse.site.quick/target with less external dependencies.
It is not enough for release, e.g. because JSHint is external plugin and there are 20 more others.
mvn clean package -Pfull builds in
org.nodeclipse.site/target. For release.
- TODO not to repeat definitions in
mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=1.0.2-SNAPSHOT -Pall
Install site.zip (quick and simple way)
- Locate zip file under
org.nodeclipse.site\targetin Project Explorer, StartExplore-> Copy Resource Path to Clipboard
- Help -> Install New Software ...
- Insert copied string into name and path.
For the next time just select the zip entry from Work With drop-down list.
Install from freshly built p2 repository (cool and long way)
npm install http-server -g
http-server org.nodeclipse.site\target\repository -p 8010
- start http://localhost:8010/
- // navigate
http://localhost:8010/in browser to check
- Help->Install New Software, enter http://localhost:8010/ in Work With
Or use update site
Need to uncheck "Group items by category" for item to appear.
A lot of words from 2013
Below is long and a little bit old notes. You should better start with building yourself, checking http://www.nodeclipse.org that has all links.
Table of Contents generated with DocToc
- Nodeclipse - Node.js support in Eclipse IDE
- What's new
- For Bloggers and Users of Twitter, Flickr, LinkedIn, Weibo etc.
- Spread the words
Nodeclipse ( sources nodeclipse-1) is Eclipse plugin for the Node.js. The purpose of Nodeclipse is to create environment in which Node.js development is easy for any user from beginner to professional.
One-stop shop for Node.js tools.
We can't develop everything at once, but we let you know what are the best things around for Node.js development with Eclipse.
- Creating default structure for New Node Project and New Node Source File
- Content Assistant
- NPM support
- Debugging - Breakpoint, Trace, etc... via Eclipse debugger plugin for V8
- Generating Express project
- Support for JSHint.
- Support for Juno, Kepler
Drag and drop into a running Eclipse to install Nodeclipse,
or use Download site :
1. Window -> Show View -> Other... -> Markdown
Click inside "Markdown HTML Preview" view to refresh rendering
(Optional, may be useful because double whitespace is hard line break) Show whitespace character via Preferences > General > Editors > Text Editors : checkbox labeled "Show whitespace characters"
See Changelong.md and also Changelong.md & History.md at www.nodeclipse.org repository.
We use Semantic Versioning. Version is MAJOR.MINOR.PATCH, where
- MAJOR indicates substantially new release, possibly with API change
- MINOR indicates updates, that are fully backward-compatible
- PATCH indicates that is bug-fix
UPDATE: Roadmap is defined by currently raised issues, voted ideas on uservoice, and desires of developers. Below is what was discussed in Spring 2013.
- #1 Kepler 4.3 support
- Improving Code Assist (new ideas needed)
- #26 Add CoffeeFileWizard
- Nodeclipse/www.nodeclipse.org#2 [Task] merge enide solution (hints, roadmap) and nodeclipse-blog into www.nodeclipse.org
- resource for developers Nodeclipse.github.io
- t#4 [Low priority enhancement] Option to Run project default module (taken from package.json), when righ-clicking project folder
- (Optional) Support for Sublime Text
- Improving Code Assist with convention-based
- JSquared Editor
Is expected together with Node.js 1.0
Ideas, proposals, work-in-progress etc.
Improving Code Assist
Debugging features without Chrome developer tools. In other words, debugging on Node Editor
Obfuscation and source-level debugging features using Source Maps
Unit test support (how?)
Add Jade support (http://blog.wookets.com/2011/10/how-to-compile-coffeescript-jade-stylus.html Posted 30th October 2011 by Sean Wesenberg)
Integrate console window (library unknown) -> currently can use StartExplorer (bundled with Enide)
Add CoffeeScript support via coffeescript-eclipse plugin Download site: http://coffeescript-editor.eclipselabs.org.codespot.com/hg/ (also requires XText. See CoffeeScriptSet.p2f in Enide for quick install)
- Eclipse Json Editor Plugin Last Update: 2012-11-07
(The JSON Editor is a simple plugin for the Eclipse IDE that provides:
- Color text highlighting
- An Outline Tree view
- JSON validation
- Text formatting - Text folding for the JSON data format.) No Update site.
- If you edited or created file, add yourself as @author in JavaDoc or comments
CodeStyle_codetemplates.xmlfrom Nodeclipse.github.io Instructions are inside the xml file. This will add @author in new files automatically. Use Ctrl+Alt+J to quickly insert in existing files.
Update forked project
If you forked into your account, after a while it is possible that code at original repository was updated.
With git command line you need to open project base folder, then
git remote add upstream https://github.com/Nodeclipse/project-you-forked.git git fetch upstream git merge upstream/master git push origin master
With EGit you should do the same steps but within GUI.
Send Pull Request steps
- Push to your remote
- Open GitHub page for your fork
- Press Pull Request
- Review Commits on Commits tab
- Write description, press Send pull request
Build from sources, install in Eclipse, give a try.
- LambGao 魔都 https://github.com/Nodeclipse (original creator v0.1.8)
- Scott Elcomb https://github.com/psema4 (just forked)
- Tomoyuki Inagaki https://github.com/tomotaro1065 (debugging integration v0.2..0.5+) blog
- Paul Verest https://github.com/PaulVI/ (Vision, site, help, docs, all the research, finding plugings, less code, maven build; Enide; making it all to be next level) DemoDays, Eclipse-China, blog
- Daniel Winterstein (Markdown Editor)
- Pushkar Gupte https://github.com/pushkar85 (together for 0.4)
- Adam Schmideg (CoffeeScript Editor before 0.3)
- Robert Gründler
For Bloggers and Users of Twitter, Flickr, LinkedIn, Weibo etc.
In case you plan to blog or tweet about the Nodeclipse plugin, please use the tag "#nodeclipse" in order to make it easier to find all the comments and pictures. Thanks a lot for telling the world about the project! | 隸ｷ用#nodeclipse#譬・ｭｾ微博一下。 | Por favor, utilizar etiqueta #nodeclipse | ツイートする時は、＃nodeclipseタグを使用してください。 | Bitte benutzen Sie tag #nodeclipse um zu twiten.
Spread the words
Please let others know about this effort. Add links below:
Sites that reference this project http://www.oschina.net/p/nodeclipse http://stackoverflow.com/questions/8025825/is-there-a-nodejs-plugin-for-aptana-studio http://stackoverflow.com/questions/8179369/debugging-node-js-with-eclipse http://stackoverflow.com/questions/7038961/node-js-in-eclipse-which-plugins-are-most-people-using https://groups.google.com/forum/#!msg/nodejs/ayLUeUOanzA/et6EEZppVjMJ http://stackoverflow.com/questions/15407334/eclipse-rcp-add-optional-dependencies http://stackoverflow.com/questions/12641679/nodejs-a-step-by-step-debugger-for-nodejs/15296275#15296275 http://cnodejs.org/topic/5149c795069911196df84af7
Interesting and useful Links
Other Node IDEs
- Nide http://coreh.github.com/nide/ v0.2 Last update 2012-04
- JetBrains WebStorm or IntelliJ IDEA (commercial products)
- Microsoft WebMatrix (free) or Visual Studio (commercial product)
- CloudIDE c9.io (cloud service)
- Scripted https://github.com/scripted-editor/scripted (no news for 3 months)
- Eclipse Orion (will it really support Node.js?)
- komodo-ide http://www.activestate.com/komodo-ide (commercial product that nobody tried)
- Netbeans have a NodeJS plugin
Other Eclipse-based IDEs
- Adobe Flash Builder
- ADT (Android Development Tools)
- Aptana Studio (PHP, Python, Rubi)
- Erlang IDE
- Groovy & Grails Tool Suite (GGTS)
- IBM Rational product line
- JBoss Developer Studio
- MyEclipse, from Genuitec is a commercial IDE
- PyDev Python IDE
- SAP NetWeaver Developer Studio
- Scala IDE
- Spring Tool Suite
- Zend Studio (PHP) Commercial
Hints & Notes