Nodejs Sublime Text 3 Package [![Build Status](https://travis-ci.org/varp/SublimeText-Nodejs.svg?branch=refactor)](https://travis-ci.org/varp/SublimeText-Nodejs) [![Build status](https://ci.appveyor.com/api/projects/status/ntjerqt5cd0vi65s/branch/refactor?svg=true)](https://ci.appveyor.com/project/varp/sublimetext-nodejs-er8ci/branch/refactor) ============================= Overview -------- The Nodejs Sublime Text 3 Package provides a set of code completion, scripts and tools to work with [nodejs](http://nodejs.org). Code Completion --------------- The package code completion is generated from the main nodejs libraries and global namespaces. To invoke the code completion start typing the namespace you want (For example, type `fs`) and then Ctrl + Space, you get this: ![A picture of the file system context menu](http://i.imgur.com/ZCFcC.png) Node Commands ------------- You can access node commands in two ways. * Via the menu in `Tools -> Node` * By accessing the Command Palette and typing `node` The current commands available are (with Windows binding, other bindings are provided): * Run current script in node (Alt + R) * Run current script in node debug (Alt + D) * Run current script in node and arguments (Ctrl + Alt + r) * Run current script in node debug and arguments (Ctrl + Alt + D) * Uglify Code * NPM Command * Build documentation (builds the completion files) Snippets ---------------- Also included are some boilerplate snippets. They include functionality such as a http server, reading the contents of a directory, etc. To access these snippets type `node` in your editor followed by Ctrl + Space If you have any boilerplate code you would like to see in here, get in touch. Install ------- You can install this package from [Sublime Text 3 package manager](https://packagecontrol.io). Also you can install this package manually: *MacOSX* `git clone https://github.com/tanepiper/SublimeText-Nodejs.git ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/Nodejs` *Windows* `git clone https://github.com/tanepiper/SublimeText-Nodejs "%APPDATA%\Sublime Text 3\Packages\Nodejs"` *Linux* `git clone https://github.com/tanepiper/SublimeText-Nodejs $HOME/.config/sublime-text-3/Packages/Nodejs` After the package is installed, install Node.js packages needed for working the package built-in tools. You can to install either globaly by: `npm install -g commander@"~2.9.0" uglify-js@"~2.6.0"` or localy by adding previously mentioned Node.js packages to your current project, either: `npm install commander@"~2.9.0" uglify-js@"~2.6.0"` or manully editing your project `package.json` file. PLEASE NOTE: When your installed Node.js packages (previously mentioned) globaly, you also need to set the package `node_path` setting. For that, go to the `Preferences -> Package Settings -> Nodejs -> Settings User`. Build Systems ------------- PLEASE NOTE: The build system will be refactored to provide different nodejs build systems (such as jake) If you have a JavaScript file open, by selecting `Tools -> Build Systems -> Nodejs` and then hitting Ctrl + B, you will activate the node build system on your file and node will try to run it. You may need to add a `path` variable to the settings object for this if your node executable is not found TODO ---- * ~~uglify_js.js and other ./tools/*.js scripts dosen't work when the package is installed by SublimeText package manager~~ * ~~Use events API to install NodeJs dependicies for tools provided by the package~~ * ~~Refactor plugin's classes inheritance in Nodejs.py~~ * ~~Use events API to generate Sublime Text completions during installation phase depending on a version of installed NodeJs~~ * ~~Check for nvm installation~~ * Replace the Nodejs.sublime-build to work with [jake](https://github.com/mde/jake) * ~~Reorganise menu structure~~ * ~~Improve code completion snippets where possible~~ * Provide an interface for writing JavaScript plugins Author & Contributors ---------------------- The original author of this package [Tane Piper](https://github.com/tanepiper). At the time the project maintainer is [Vardan Pogosian](https://github.com/varp).