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.
- 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).
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):
- TypeScript sublime text plugin (TypeScript)
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
With Package Control:
- Run “Package Control: Install Package” command or click to the
Preferences > Package Control
menu item, find and installJavaScript Enhancements
plugin.
Manually:
- 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) - 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!
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.
Projects with terminal (TerminalView)
See the Wiki for complete examples and the other features.
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 .
Email me for any questions or doubts about this project on: [email protected]
For feature requests/enhancement, create an issue or use .
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!
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
Thank you to all our backers! 🙏 [Become a backer]
This project exists thanks to all the people who contribute. [Contribute].
MIT License