/JavaScriptEnhancements

JavaScript Enhancements is a plugin for Sublime Text 3. It offers not only a smart javascript autocomplete but also a lot of features about creating, developing and managing javascript projects (real-time errors, code refactoring, etc.).

Primary LanguagePythonMIT LicenseMIT

JavaScript Enhancements Share on Twitter Share on Facebook

Minimum Sublime Build Version GitHub stars Gitter Build Status codecov license

Donate to this project using Paypal Donate to this project using Patreon Donate to this project using Open Collective Backers on Open Collective Sponsors on Open Collective

JavaScript Enhancements is a plugin for Sublime Text 3.

A little introduction to this plugin could be found in this css-tricks.com article: Turn Sublime Text 3 into a JavaScript IDE

This plugin uses Flow (javascript static type checker from Facebook) under the hood.

This is in BETA version for testing.

It offers better JavaScript autocomplete and also a lot of features about creating, developing and managing JavaScript projects, such as:

  • Cordova projects (run cordova emulate, build, compile, serve, etc. directly from Sublime Text!)
  • Ionic v1 and v2 (it includes also v3) projects (same as Cordova projects!)
  • Angular v1 and v2 (it includes also v4 and v5) projects
  • Vue projects (only about the creation at this moment, see the wiki)
  • React projects (only about the creation at this moment)
  • React Native projects (only about the creation at this moment. I will add also NativeScript support)
  • Express projects (only about the creation at this moment)
  • Yeoman generators
  • Local bookmarks project
  • JavaScript real-time errors
  • Code Refactoring
  • etc.

You could use it also in existing projects (see the Wiki)!

It turns Sublime Text into a JavaScript IDE like!

This project is based on my other Sublime Text plugin JavaScript Completions

Note: If you want use this plugin, you may want uninstall/disable the JavaScript Completions plugin, if installed.

OS SUPPORTED

  • Linux (64-bit)
  • Mac OS X
  • Windows (64-bit): released without the use of TerminalView plugin. For each feature (like also creating a project) will be used the cmd.exe shell (so during the creation of a project don't close it until it finishes!). Unfortunately the TerminalView plugin supports only Linux-based OS 😞 . See this workaround using WSL (Windows Subsystem for Linux).

Dependencies

In order to work properly, this plugin has some dependencies:

  • Sublime Text 3 (build 3124 or newer)
  • Node.js (6 or newer) and npm (nodejs.org or nvm)
  • TerminalView (only for Linux and Mac OS X) sublime text plugin (TerminalView)

Not required, but useful for typescript files (Flow wont work on this type of files):

Flow Requirements

It will use Flow for type checking and auto-completions.

  • Mac OS X
  • Linux (64-bit)
  • Windows (64-bit)

You can find more information about Flow on flow.org

Installation

With Package Control:

  • Run “Package Control: Install Package” command or click to the Preferences > Package Control menu item, find and install JavaScript Enhancements plugin.

Manually:

  1. Download latest release (DON'T CLONE THE REPOSITORY!) and unzip it into your Packages folder (go to Preferences > Browse Packages... menu item to open this folder)
  2. Rename the folder with JavaScript Enhancements name (THIS STEP IS IMPORTANT).

If all is going in the right way, you will see JavaScript Enhancements - installing npm dependencies... and, after a while, JavaScript Enhancements - npm dependencies installed correctly. messages in the status bar of Sublime Text 3. Now the plugin is ready!

Fixing node.js and npm custom path

If the plugin gives to you message errors like Error during installation: "node.js" seems not installed on your system... but instead you have installed node.js and npm (for example using nvm), then you could try to set your custom path in the Global settings of the plugin and then restart Sublime Text.

If you don't know the path of them, use which node/which npm (for Linux-based OS) or where node.exe/where npm (for Windows OS) to get it.

If this doesn't work too, then you could try to add the custom path that contains binaries of node.js and npm in the PATH key-value on the same JavaScript Enhancements settings file. This variable will be appended to the $PATH environment variable, so you could use the same syntax in it. After this you need to restart Sublime Text. Example of a global setting for Linux that uses nvm:

{
  // ...

  "PATH": ":/home/lorenzo/.nvm/versions/node/v9.2.0/bin",
  "node_js_custom_path": "node",
  "npm_custom_path": "npm",

  // ...
}

For Linux-based OS REMEMBER to add : (for Windows OS REMEMBER to add ;) at the begin of the PATH value!! Like I already said, it uses the same syntax for the $PATH environment variable.

Usage

See the Wiki.

Quick Overview

Auto-completions

Errors

Projects with terminal (TerminalView)

See the Wiki for complete examples and the other features.

Support

Issues/Questions

If you have any problems, create an issue (protip: do a quick search first to see if someone else didn't ask the same question before!). For small questions, you can use Gitter.

Email me for any questions or doubts about this project on: pichillilorenzo@gmail.com

Feature request/enhancement

For feature requests/enhancement, create an issue or use Gitter.

Financial contributions

If this project helps you reduce time to develop and also you like it, please support it with a donation on Patreon, Open Collective or using PayPal 😄👍. Thanks!

paypal Become a Patron opencollective

Credits

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Backers

Thank you to all our backers! 🙏 [Become a backer]

Contributors

This project exists thanks to all the people who contribute. [Contribute].

License

MIT License