Skip to content

Latest commit

 

History

History
421 lines (303 loc) · 20.1 KB

README.md

File metadata and controls

421 lines (303 loc) · 20.1 KB

Nodeclipse - Node.js & Java development in Eclipse-based IDE

Release

nodeclipse-logo

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.

Personal message

Hello, I am Paul Verest, one of Nodeclipse contributors. I am Java developer adopting Node.js ( and less PhantomJS, Nashorn etc Javascript ) into my set of tools. 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-1 because nodeclipse repository was there), the rest can be seen in history.

Enhancing Nodeclipse

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.git or EGit equivalent
  • (optionally, recommended) run mvn package to 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 src/org/nodeclipse/enide/editors/jade/highlight/Words.java

There is also Nodeclipse CLI Node.js project at org.nodeclipse.ui\templates.

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.

JavaScript experienced leader could help by giving guidance and insight of trends.

Even without skills above you can do even more helping by research. Start by raising an issue, describing what problem you want to solve, sharing some link. It maybe how to use Nodeclipse, new plugin to include, how to support newer JavaScript features, Node.js packages, other JS libs like AngularJS, EmberJS etc.

Diving-In

Try out next version from this sources just by git clone, 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 LaunchConfigurationDelegate.java

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

see src/site/markdown/developing.md file

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.

Maven build

Maven build (using Tycho plugin) is headless build, that doesn't require Eclipse.

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 .site and .updates

Before release

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)

  1. Locate zip file under org.nodeclipse.site\target in Project Explorer, StartExplore-> Copy Resource Path to Clipboard
  2. Help -> Install New Software ...
  3. Add...
  4. Archive...
  5. Insert copied string into name and path. E.g. C:\Users\pverest\git\nodeclipse-056\org.nodeclipse.site\target\org.nodeclipse.site-0.5.0-SNAPSHOT.zip

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)

  1. npm install http-server -g
  2. http-server org.nodeclipse.site\target\repository -p 8010
  3. start http://localhost:8010/
  4. // navigate http://localhost:8010/ in browser to check
  5. Help->Install New Software, enter http://localhost:8010/ in Work With

Tools

Or use update site http://download.eclipse.org/eclipse/pde/incubator/visualization/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

Moved from https://github.com/tomotaro1065/nodeclipse to https://github.com/Nodeclipse/nodeclipse-1 . Initially based on https://github.com/Nodeclipse/nodeclipse .

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.

Check developers news and Maven generated documentation site

Vision

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.

Features

Installing

Drag and drop into a running Eclipse to install Nodeclipse, or use Download site : http://www.nodeclipse.org/updates

Usage

Check out website and watch video. For debugging check Using-Eclipse-as-Node-Applications-Debugger

For Markdown:

1. Window -> Show View -> Other... -> Markdown

  1. Click inside "Markdown HTML Preview" view to refresh rendering

  2. (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"

    If [Node Express Project] menu does not appear under File->New, reset [Node] perspective by right-clicking on the [Node] button, which is located perspective switching area.
    ResetPerspective

What's new

http://www.nodeclipse.org/history

See Changelong.md and also Changelong.md & History.md at www.nodeclipse.org repository.

Roadmap

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

Please participate in discussion, propose and vote on new feature, on raise bugs on https://github.com/Nodeclipse/nodeclipse-1/issues

UPDATE: Roadmap is defined by currently raised issues, voted ideas on uservoice, and desires of developers. Below is what was discussed in Spring 2013.

0.x

  • (Optional) Support for Sublime Text
  • Improving Code Assist with convention-based completions.json
  • JSquared Editor

1.0

Is expected together with Node.js 1.0

Next

Ideas, proposals, work-in-progress etc.

Shelved

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

Code standard

  1. If you edited or created file, add yourself as @author in JavaDoc or comments
  2. Import CodeStyle_codetemplates.xml from 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

  1. Push to your remote origin (your account)
  2. Open GitHub page for your fork
  3. Press Pull Request
  4. Review Commits on Commits tab
  5. Write description, press Send pull request

Testing

Build from sources, install in Eclipse, give a try.

Contributors

Contacts

Do not hesitate to contact developers. Create issue or send email to dev group. Or skype by ID pverest, QQ 908781544. Visit Nodeclipse Google Group.

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

Hot requests

http://stackoverflow.com/questions/14533885/which-ide-supports-coffeescript-debugging-source-mapping-breakpoints-call-st http://stackoverflow.com/questions/10286364/coffeescript-editor-plugin-for-eclipse http://stackoverflow.com/questions/7057466/how-to-use-coffeescript-and-eclipse-together-in-windows http://stackoverflow.com/questions/3919977/what-ide-to-use-for-node-js-javascript asked Oct 13 '10 [closed] -> Vim, Cloud9 IDE, editors http://www.iteye.com/news/23933

Interesting and useful Links

Other Node IDEs

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

http://wiki.eclipse.org/Tycho/Reference_Card http://stackoverflow.com/questions/10352089/how-do-i-build-an-eclipse-rcp-app-so-that-its-features-can-be-updated-automatica?rq=1 http://stackoverflow.com/questions/14591472/installing-an-additional-feature-during-product-build-for-some-eclipse-versions http://stackoverflow.com/questions/10529859/how-to-include-video-in-jekyll-markdown-blog http://stackoverflow.com/questions/2330620/eclipse-i-turned-on-hidden-characters-now-i-cant-turn-off Eclipse JavaScript Development Tools (JSDT) has only JS web support. add interesting stuff here...

with-Eclipse logo