pichillilorenzo / 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.).
MIT License
639 stars 41 forks source link
autocomplete completions flow flow-typed flowtype ide ide-helper ide-like javascript javascript-completions javascript-enhancements javascript-plugin javascript-projects javascript-tools javascript-utility project-management sublime-text sublime-text-3 sublime-text-plugin sublimetext3

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:

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

Dependencies

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

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.

You can find more information about Flow on flow.org

Installation

With Package Control:

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