layout | title |
---|---|
home |
Nodeclipse -- Version History |
{% include navigation-links.html %}
New major functionality is going to come from Eclipse, within standard Eclipse packages. Node.js goes mainstream.
That again shows rule that in the end tools are taken care by technology creators. As when competing with other stacks, such part as tooling does matter. (Compare with STS for Spring, and Red Hat JBoss tools for Hibernate etc.)
Eclipse Neon already has major Nodeclipse features and part:
- JavaScript Editor with full EcmaScript 2015 (ES6) support. (Internally uses esprima, but not ternjs parser).
- Chromium Debugger (moved to
org.eclipse.wst.jsdt.chromium
namespace) for Node.js debugging. - JSON editor
for
package.json
,bower.json
,.bowerrc
, and.jshintrc
. (Thanks for Angelo Zerr contribution) - npm, bower, Grunt & gulp support (again later 2 are of Angelo Zerr work)
- markdown editing using WikiText Editor ( with some new bugs: e.g. got no letter appearing after pressing in WikiText Editor when editing markdown)
Not yet: Node perspective, wizards.
New: managing Node runtimes.
And of course would be awesome to see some thanks or just reference to Nodeclipse effort.
- Eclipse May Newsletter - JavaScript Development Tools Rebooted
- Eclipse June Newsletter - Neon Top Ten
- preference to add JSDT nature
- disable JSDT nature by default over ES5 #70, Bug 442049 #159, ES6 #194
- hot key for wizards (press letter after Alt+Shift+N)
TODO
- by default enable JSDoc type checking
See tern-lint/wiki/Validation-JSDoc
- add TCF-Termnals View as first on the Node perspective, blocked by Bug 478249 - [terminal][regression] 13s or more freeze
-
add Tern Explorer (alt Outline) view to the Node perspective atj#289
-
enable Tern Outline, ES6 by default in new Node.js project
-
pass environment variables to launched npm similar to Node debugging #177
-
#171 simple Bower support: Editor
bower.json
and.bowerrc
, don't validate or check forTODO
s insidebower_components
folder. Hint: add"postinstall"
script intopackage.json
:"scripts": { ... , "postinstall": "bower install" },
-
#172 add template hello-angularjs in new Node.js project wizard
-
add Tern-Toolings wizards to Node perspective atj#204
-
#3 associate
._js
files with Editors
- JSH#99 Errors running builder 'JSHint Problem Checker' -> make sure to have the latest JSHint-Eclipse v0.9.10.20141011-1730
- include Tern support in Nodeclipse, Enide.p2f and Enide Studio 2014 marketplace entries
- stand-alone Enide Studio 2014 for Windows 64
- #154 hide "Node with Monitor" launcher - While more generic approach was tried (any monitor), this functionality was not finished, neither there were reposts on success or people willing to continue. However this feature was causing a lot of questions. Recommendation is to use TCF terminals to launch preferred monitor.
- fix #158 Nodeclipse PreferenceInitializer was throwing Exception
when could not find Node executable.
That happened on Ubuntu where Node.js was installed with package manager.
Note that you are advised get
node
name instead ofnodejs
as answered on Stackoverflow. - icons in Preferences pages
- #160 #165 By default add Tern Nature, so that Tern completions will be enabled when Tern.java is installed.
You will see doc when mouse over and completions options from
node
module of tern. - Tool Discovery at Developer Liberation Front is researching why developers are using and not using tools.
- made with love, excellent Eclipse Zip (and Jar, Aar) Editor by Uwe Voigt mp. Listed in Help -> Nodeclipse Plugins List
- #161 Express 4.x support (as discussed by @dwwaddell and @nodeleaf, also asked on SO):
- associate Editor for
www
file (See SO) - stop raising exception when file is without Exception, but assume .js by default. So now you can launch
www
in Run and Debug mode. By the way, you can do without that but copying./bin/www
file into./start.js
in the project root (then you don't need to look intobin
folder):
- associate Editor for
console.log('starting Express server');
var debug = require('debug')('ProjectName');
var app = require('./app');
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});
- #166 Enide Studio 2014 to be the most featureful distribution with AngularJS, TernIDE and TCF Terminals included.
Thanks to Pei-Tang Huang
- #153 Debug as NPM says "execvp(): No such file or directory" -> remove Debug As npm launch. Hint: launch debug for .js files explicitly or Do It Yourself
- Eclipse Color Themes updated to support Gradle Editor, Chromium Debugger JS Editor and Minimalist Jade Editor and then (by Pei-Tang Huang) JSON, Properties, Angular Editors and Solarized Dark/Light themes
- Finally Local terminals for all OSes via TCF Terminals
- Great eExplorer - Embedded Windows Explorer
- Add JDT Spelling by Stuart Hendren http://www.stuarthendren.net into new Java Tools category
All 4 are Listed in Help -> Nodeclipse Plugins List
Thanks to @gurok, Chris and Teoh Han Hui
- #39 #49 color preferences for Gradle Editor, Chromium Debugger JS Editor and Minimalist Jade Editor
- RainbowDrops.epf from Moonrise UI theme is updated as well.
- #137 Gradle, Maven - specify what JAVA_HOME to use.
Hint: For gradle you also can use
org.gradle.java.home
property. See Chapter 20 The Build Environment. - #138 Gradle Deamon
--deamon
option enabled by default - #143 project config updated to enable JSDoc, TODOs processing (excluding
node_modules
). Note that for JavaScript validation JSHint-Eclipse is used, that is capable of EcmaScript 5 validation (configured in every project.jshintrc
file"es5" : true
) - #145 Gradle - option to use launch with wrapper
- discovered Emmet (ex-Zen Coding) Eclipse plugin
Thanks and hello to Ryan Knell for logo, John McCarthy, @Vexatos and Piotr Metel
-
close #7 Improving Code Assist - it was generic issue opened a year ago, no more new options came in the last 10 months
- close #16 Improving Code Assist with JSDT and NJSDoc
- close #27 Improving Code Assist with SublimeText-Nodejs
- close #52 Improving Code Assist with VJET ANVIL (typelibs) - Eclipse VJET has not graduated from Eclipse incubator during 10 months.
- close #54 Improving Code Assist with Marijnh Haverbeke's Tern project, now it is tern.java project
- close #117 Run Maven, Gradle or other batch-based script from Java (and then Eclipse) - actually done before in 0.11
-
#124 Preference option to "pass all environment variables of Eclipse to launched Node.js app" (for Node.js, Maven, Gradle). e.g. try
task envvar << { System.getenv().each { key, value -> println "${key}/${value}" } }
or
console.log(process.env);
- fix #125 Gradle GUI for Android - "Could not create plugin of type 'AppPlugin'; update Nodeclipse/Enide build.gradle template to 0.9.+
- fix #127 "null" value for TMP (Thanks to @pchuong Patrick for raising issue)
- #129 (experimental) Gradle Android - EnvVar to pass signingConfigs params
- #130 Gradle Android - install to AVD
- #131 Include Json Tools by Denis Mirochnik; disable JShint validation for .json files
- add New TypeScript File wizard; add TypEcs TypeScript IDE for Eclipse by Axmor
- #132 Include Ansi Console by Mihai Nita
and Grep Console by Marian Schedenig.
Try
console.log("Hello \u001b[1;31mred\u001b[0m world!");
and check colors node package. - add updated Nodeclipse EditBox (created in 2009-2011 by Piotr Metel) - highlight code blocks using background colors themes.
- #134 Minimalist Jade Editor idea is to define HTML tags and JavaScript keywords as words for highlight in Word.java and then use it together with EditBox
- experimental content assist from Orion IndexFiles for amqp, express, mongodb, mysql, postgres and redis node packages.
- make 3 type of content assist optional and enabled by default (change require restart as checking preferences each time assist is called would add delay)
- add Nodeclipse CoffeeScript Editor 0.4.0 to Nodeclipse update site, be aware of #19 ("XtextReconcilerJob" has encountered a problem in 4.3.1 onwards)
Known issues: repository includes Eclipse plugin for LESS that can't be installed.
Thanks to @nodeleaf Patrick Perroud for being the most active user and to @ihgreenman Ian Greenhoe for research on #81.
- DIY: Make Eclipse yourself with Nodeclispe CLI Installer
nodeclipse new from luna to d:/progs/eclipse-diy-luna/
. Depending of your Internet connection speed, it may be long time, e.g.Operation completed in 942398 ms.
- DIY: Code completions for other Node.js modules: Since Nodeclipse 0.9.0 there is code completion for base Node.js modules. What about others? Just create JSON file like:
{ "module_completions": [ { "trigger": "MongoClient.connect(connectionString, function(err, db)", "name": "MongoClient.connect", "type": "method", // maybe also "event", "class" or "property" "desc": "MongoClient or how to connect in a new and better way http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html
The URL connection format¶
" } ] }mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
Select it in Nodeclipse Preferences in "Alternative completion.json" path to give a try. (Only trigger
is required for an entry)
Got result that 'd like to share?
Raise an issue and paste. Next version will have it shipped.
-
DIY: External Tools
-
ref #23 DIY: Is there an Eclipse plugin to run system shell in the Console?
-
ref #34 DIY: JavaScript unit test tools for TDD From that list Js-test-driver is the one that has Eclipse plugin. There are also JUnit wrappers for JavaScript, not yet tried.
-
fix for #81 "Node.js app with cluster does not execute inside Nodeclipse" (and #92 "code with exec fails when running inside Eclipse on Windows" as it had the same remedy). Both were not technically bugs:
node
failed to execute because of missing environment variables, as @ihgreenman Ian Greenhoe has found out what "Unknown system errno 203" was. Now minimal set of env variables are passed automatically. #122 is raised about Env variables Tab in Launch configuration. -
#120 Maven (Eclipse plugin) is updated to build Nodeclipse-1. Now you can launch project maven build without launching ugly Windows console. Instead of switching windows use Eclipse Workbench to show/hide View and build again.
- code completion for base Node.js modules in JSDT-based Editor (read in 0.9.0 for TextEditor-based Editor ). For any issues check #119 first.
-
update Launch icons (using great Icons Editor by Jabier Martinez)
-
fix filter for
npm
launch (Personally prefer Ctrl+Alt+D to launch shell.) -
bundle with additional 5 plugins:
- YEdit (YAML)
- InstaSearch
- Eclipse Color Theme (huge number of color themes for Editor; not recommended as some users report major issues)
- Chrome Theme (1 slide below; but actually has several themes, recommended)
- Moonrise UI Theme (black; awesome, but yet not recommended as there is still issue #49)
- #100 Enide repository will contain ALL needed plugins.
- Enide Maven (#117)
lets you launch maven build by right-clicking on
pom.xml
. - Nodeclipse CLI (#91) 0.10 now includes Maven and Gradle templates
- Node.js run/debug function tested in Juno (ADT-BUndle), Kepler, Luna 4.4.M4 with JDK 7 on Windows 7. Raise an issue if you have or had issue on other version.
-
#97 set NODE_JUST_NODE on Windows only; so that new users on other OSes, check preferences first.
-
in Node.js project Wizard select what template to use. (The same list as for Nodeclipse CLI
npm i -g nodeclipse
) -
new hello-html, hello-coffee, hello-typescript templates
-
workspace-wide NODE_OPTIONS (set in Preferences). This lets you run node(1) with the
--harmony
flag that is needed to enable generators support (since node 0.11.9). And yes, you still can set Node arguments in Node.js Application Run/Debug LaunchConfiguration per every file you launch. -
workspace-wide NODE_APPLICATION_ARGUMENTS (set in Preferences). Similarly, arguments from Preferences and from arguments from LaunchConfiguration are all applied.
-
ref #95 (when Node.js sources directory is selected in Preferences) automatically link to Node.js sources
lib
directory. It is actually quick & lazy implementation just by adding LinkedFolder into.project
like<linkedResources> <link> <name>node_lib</name> <type>2</type> <location>D:/Nodejs/sources/node-v0.10.22/lib</location> </link> </linkedResources>
(.settings/com.eclipsesource.jshint.ui.prefs
file was updated to exclude node_lib
from JSHint processing).
Note that linked JavaScript is not read-only, so if you references git clone of Node.js sources,
you are ready to develop Node.js runtime)
-
as work in progress (for Nodeclipse Node.js Editor associated by default with
*.njs
files) code completion for base Node.js modules shows APIs (sources). -
and completion proposals. Point in Preferences to local
completion.json
to define your own, or to empty file like snippet below to disable it:{ "completions": [ { "trigger": "ArrayBuffer();" }, { "trigger": "Int8Array();" } ] }
-
there sprint goal was to make Node specific content assist in Node JSDT-based Editor, however I [Paul Verest] ran into problem that can't be solved quickly: Content assist with javaCompletionProposalComputer for Eclipse JSDT gives no proposal
-
jshtml and hogan.js template engines in Express Wizard
-
Stylesheet engines selection in Express Wizard (however correctly generated command line execution gives css only on Windows)
-
PhantomJS wizard
-
Nashorn wizard
-
less strict JSHint defaults
-
update GFMV to 1.7
-
add less known Other Optional Tools:
- Glance by Xored (Highlight anywhere, Ctrl+Alt+F; lets you search almost every place in Eclipse you can imagine)
- PracticallyMacro by Ernest Pasour (Macros for Editors using BeanShell.org)
- EclipseRunner by Lukasz Wachowicz and Bartosz Roznowski (Runner View)
- SelectionExplorer (PDE) by Sandip Chitales
Known issues: markdown.editor.feature is missing inside 0.8.0 update repository. Check for Markdown Editor inside Nodeclipse Plugins List or use update site
http://dl.bintray.com/enide/Markdown/1.0.0/
- allow many Node.js application running, add Debug View in Node perspective to check and terminate processes
- optional support for PhantomJS (run)
- optional support for Nashorn JJS (run)
- optional support for MongoDB Shell (running scripts)
- disable JSDT validation; enable JSHint validation for
*.json, *.njs, *.pjs, *.jjs, *.mjs, *.jshintrc
files - add the most strict
.jshintrc
template - Help content with tutorials, links and examples, that you can edit online with GitHub
- Update Github Flavored Markdown Viewer by Satyagraha, StartExplorer by Bastian Krol, Nodeclipse Git Addon by Paul Verest, JSHint integration for Eclipse, developed by Ralf Stenberg at EclipseSource
- Add Icons Editor 2.4.0 as
*.png
Editor by Jabier Martinez (requires org.eclipse.draw2d), PDE-Tools mp,sources by Jeeeyul, Regular Expression Eclipse Regexp github by Igor Zapletnev, MonjaDB (MongoDB GUI) by Kanatoko Anvil sources, mp - Known issues: gfm_viewer#39 NPE while debugging (GFM View in Node, not Debug perspective). Just close GFM View when about to debug. (Recommended is keep an eye on errors in Error Log View).
- Option to launch Node debug without -brk (disable interruption of Node.js app on the first line). Check Help (F1) Debug page on -debug-brk option.
- #61 set debugging port in Preferences. Now you can debug several Node.js apps in the same time (but in different Eclipse instances).
- Extended Help with examples and links. Ready for contribution: just edit online with GitHub.
- Chromium JS Editor now has Outline support as Node Editor
- TODO: 2 items below have run into problem http://stackoverflow.com/questions/19157302/eclipse-plugin-development-saved-launchconfiguration-overrides-launchtype ,
that limits their usability (also warning in Help). Decision was made not to postpone release of features above
and have more frequent releases
- more support for CoffeeScript (launch
coffee
util in RUN or DEBUG mode) & TypeScript (tsc
compiler). Note that full featured CoffeeScript debugging #12 is not yet implemented. Do you know Java library for parsingcoffee
-generated SourceMaps? #12 - #57 running app.js with node-dev, forever, supervisor, nodemon etc.
Default preferences to
node-dev
.
- more support for CoffeeScript (launch
- Integrate Github Flavored Markdown Viewer by Satyagraha, RestClient Tool by Yadu Vendra, StartExplorer by Bastian Krol, Nodeclipse Git Addon & Plugins List by Paul Verest
- #59 setting environment variables in Launch (Run/Debug Configuration)
- #26 CoffeeScript support: run
*.coffee
files
- #17 bundle Express and CoffeeScript into jar files.
This lets you install them even if you don't have admin permission on computer that you use, or if you want play quickly with Node.js
and don't remember how to do
npm install express -g
. Note this bundle is of current Express/CoffeeScript versions, and doesn't check for your Node.js version compatibility (the latest version is assumed). - #66 built-in (Help -> Help Contents) and online help. It is open-sourced and written in Markdown. Welcome to contribute: just edit Markdown files online, then send pull request.
- #40 maven build.
Building Nodeclipse is now the easiest
mvn package
from command line. Check README
- Integration with JSDT (Code Assist and Outline)
#11 [Feature request] Outlines and other things for class-y structure?
- Integration with Markdown viewer
29 Integrate Markdown Editor, add Markdown HTML preview to Node perspective
- #37 Enhancement: Ability to set a working directory
- #36 Associate *.json files with JS Editor
- #25 Node perspective doesn't support working sets
- Add support for JSHint integration for Eclipse, developed by Ralf Stenberg at EclipseSource
You had to set project property for JSHint for each project creating. It was boring task.
Nodeclipse 0.3 will set them automatically when generating Node project and Express project.
You should install JSHint integration for Eclipse.
Update site: http://github.eclipsesource.com/jshint-eclipse/updates/ - Update template for new project
- Add README.md template
- Add hello-world-server.js
- Add package.json (This is good practice)
- Publish on Eclipse marketplace
- t#3 [Feature Request] allow passing arguments
You can pass arguments to application and node.js setting on [Debug configration...]-[Node Application]-[<your configration name>]-[Arguments].
You can also set arguments on [Run configuration...].
- n#2 on x64 windows doesn't find NodeJS dir automatically
- #5 When creating Node project and folder already exists, then add only .project file and don't add 3 files (README.md, hello-world-server.js, package.json)
- #6 Add Express Project in main menu under File -> New (in Node perspective)
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.
by Tomoyuki Inagaki
- Integrating Chromium Development Tools & Debugger (historical link).
- Node perspective
- Run as Node application
- Console integration
- npm operations
- ...