Hacker News new | ask | show | jobs
by ktross 2657 days ago
I've also used Sublime for years, but recently I've been using VS Code. VS is miles ahead when working with modern Javascript, both in terms of linting and syntax highlighting. Have a look at these screenshots of a single-file Vue component. Both are using the most popular Vue/JS plugins.

Sublime: https://i.imgur.com/xQiYv7O.jpg

VS Code: https://i.imgur.com/UsEhfO3.jpg

2 comments

Our support of advanced JavaScript is actually extremely good. It would appear that screenshot is using a third-party syntax definition named Vue Component that doesn't seem to be very robust.
I love Sublime Text, and purchased a license years ago. I'd love to be able to use it on JS projects. Do you have any suggestions for me to have a better experience with it?
If you find any bugs with the JavaScript syntax, definitely report them at https://github.com/sublimehq/Packages/issues.

As far as I know, our syntax definition is pretty spot on with the current state of the language and I believe supports all of the stage-3 proposals in TC39 (see https://github.com/sublimehq/Packages/issues/1269 for more info).

The major thing we don't support out-of-the-box right now is JSX. If you are using JSX or Flow I highly recommend https://packagecontrol.io/packages/JSCustom. It is maintained by the primary contributor to the default JavaScript syntax.

With our high-quality JavaScript syntax, things like Goto Definition and Goto References should work well.

I'm not sure what else you may be looking for in JS projects, but there are certainly tons of third-party packages for things like linting and so forth. Myself, I tend to run Sublime Text pretty vanilla as I use a full terminal emulator to run tasks like tests, linting, builds, etc.

The only sublime issue I see is it isn't setting the closing script tag, all the rest is just color / themes.
That's just one example of broken syntax highlighting, and it's about the simplest a .vue file can be. It becomes more apparent/annoying in larger projects when you see perfectly valid chunks of code underlined in red or all the same color.