5 ms·
Webstorm is absolutely incredible. Everyone should try it. Seriously, `cd your-app && brew cask install webstorm && webstorm .` Best IDE ever. Better than emac
by sillysaurus3 9y ago
Webstorm is absolutely incredible. Everyone should try it. Seriously, `cd your-app && brew cask install webstorm && webstorm .`
Best IDE ever. Better than emacs. And I've loved emacs for a couple years, and Vim for 10 years before that. Webstorm even comes with a Vim plugin.
IntelliJ is really rocking it. Webstorm for webdev, Cursive for clojure (https://cursive-ide.com/ https://cursive-ide.com/), PyCharm for python (https://www.jetbrains.com/pycharm/ https://www.jetbrains.com/pycharm/)... every one of those IDEs feels amazing out of the box.
It sounds dumb, but just try it. You'll get hooked on Webstorm and never want to go back. Example: press shift twice. It pops up a "Search Everywhere" box, and you can type filenames, symbol names, actions (Rename, etc)... it's basically helm M-x, but way better.
You won't ever feel like "CSS names are bad!" because you won't ever need to remember anything. Want to center something? Just type "align" and usually webstorm pops up autocomplete with the right thing. And that's true in every context: https://i.imgur.com/jCAAesF.png https://i.imgur.com/jCAAesF.png
All of these IDEs are specializations of IntelliJ IDEA (https://www.jetbrains.com/idea/download/#section=mac https://www.jetbrains.com/idea/download/#section=mac). They specialize it for web and call it WebStorm, for Python and call it PyCharm, etc. But all the plugins and settings work in all the IDEs, so really the underlying awesomeness is IDEA.
At this point I trust IDEA enough to know that if I open any codebase, I can start navigating it right away. Doesn't matter if it's C++, ocaml, or VueJS. Typing shift-shift will always let me jump to definitions.
Yeah it costs money, but $13/mo is super reasonble. Dropbox was similarly impactful on my life, and that was $10/mo.
- SippinLean 9y ago>a "Search Everywhere" box, and you can type filenames, symbol names, actions >Just type "align" and usually webstorm pops up autocomplete with the right thing VS Code does both of these things, and is FOSS
- Viper007Bond 9y agoVS Code is indeed nice (I use it as my quick file editor) but can't quite match the IntelliJ products, although it can get decently close.
- sillysaurus3 9y agoHere's a more persuasive demo: https://news.ycombinator.com/item?id=15514285 https://news.ycombinator.com/item?id=15514285 https://imgur.com/z2euynI https://imgur.com/z2euynI https://imgur.com/vb4uDMw https://imgur.com/vb4uDMw https://imgur.com/4Xv4BMb https://imgur.com/4Xv4BMb It's not so much that it has X feature or Y widget, but rather that the whole ecosystem feels cohesive. With emacs you sort of cobble together your configurations until you're happy with it, and that's very powerful -- it's why it's so successful. But there's something to be said for having "awesomeness out of the box". It's why Spacemacs was so popular. I hear you about FOSS. I was reeeeally hesitant to throw my time into yet another closed source clusterfuck. I grew up as a gamedev, and back in 2000 that meant you had to use Visual Studio. All of my VS skills are now completely obsolete. And whenever I ran into VS issues, I couldn't debug it since it was closed source. Two things convinced me IDEA is probably worthwhile: 1. They're partially open source. https://github.com/JetBrains/intellij-community https://github.com/JetBrains/intellij-community You can build that from source and run it, so you can at least see how most of the system is architected. You won't be able to extend some of the closed-source plugins, but you get some of the benefits of FOSS. 2. Their tooling is their primary business model. When Microsoft lost their VS monopoly, Microsoft didn't die. JetBrains' sole focus is making the tooling ecosystem work; they're the Adobe of tooling.
- acdha 9y agoHow's performance? I've used PyCharm about once a year historically and kept going back to TextMate 2 or (now) VSCode for UI responsiveness.
- sillysaurus3 9y agoMm, good point. WebStorm performance is good, but IDEA is noticeably slower. I haven't used PyCharm yet, so it's possible performance could be a pain point there. I find myself firing up Webstorm instead of IDEA due to slower IDEA indexing. FWIW Cursive is a bit sluggish to start, but after it's done indexing it feels like the best Lisp development environment ever made.
- acdha 9y agoI liked PyCharm's feature list but the index-the-world behaviour definitely like it going back to the pre-SSD era. Not a show-stopper for my biggest project but the cost for everything else definitely left me hesitant to switch.
- sillysaurus3 9y agoI had the same experience with a Vim plugin called Jedi. It was great, but typing "pdb." would freeze Vim for 5 seconds. IDEs can definitely try to do too much.
- scoggs 9y agoSorry, this may be a silly question, but is it possible for PyCharm (and other IntelliJ IDE products) to define a specific working folder / path for the file index-the-world feature to stay within or does it always permeate through the entire computers hard drives, just in case?
- timdev2 9y agoIt works similarly to git. You define a project root, and then exclude subdirectory trees as needed. I believe there's a way to add additional directories outside the root if needed.
- donut2d 9y agoYou've got a JetBrains IDE working with OCaml? What plugin are you using with which IDE? The only plugin[1] I've seen seems to be 7 years out of date. [1]: https://plugins.jetbrains.com/plugin/4986-ocaml-support https://plugins.jetbrains.com/plugin/4986-ocaml-support
- sillysaurus3 9y agoI saw that https://github.com/sidharthkuruvila/ocaml-ide https://github.com/sidharthkuruvila/ocaml-ide was pretty recent and assumed that it worked. I haven't tried it though. Amusingly someone made a plugin for pg's Arc 3.1 code back in '08: https://i.imgur.com/Xe7mvIB.png https://i.imgur.com/Xe7mvIB.png If IDEA doesn't support a particular language, it's pretty easy to fork an existing plugin and throw together some lexer rules.
- deleted 9y ago[deleted]
- amatecha 9y agoI've been using WebStorm (and IntelliJ IDEA) for the past couple years and love it. I have no intention of swapping to any other IDE unless I really have to. Can definitely speak to the extreme convenience of instantly finding usages/definitions, "intellisense" of func params, plugin architecture, super customizable settings, built-in language support and linting/evaluation, refactoring assistance, live templates... Just a godsend, to be frank.
- TylerE 9y agoIdea sucks. It just sucks less than everything else.
- teleclimber 9y agoI like Webstorm, it's my primary dev environment. But I can not praise its abilities as you do. My experience has been mixed. Sure it's cool when it works well, but then its bugs are all the more painful. You expect intelligence and you get the opposite. Take this bug I reported two years ago: https://youtrack.jetbrains.com/issue/WEB-19183 https://youtrack.jetbrains.com/issue/WEB-19183 It thinks "y" is a global if I put "x.y = ..." anywhere in my code. Genius! Also, It's lacking in its support for Vue Js. I get lots of red squiggles all over my code for perfectly valid Vue props, and PostCSS within single-page Vue component also is weak (no $variables support).
- sillysaurus3 9y agoHmm, FWIW Vue is my primary stack and I haven't run into similar issues. Try this: git clone https://github.com/vuejs/vue-hackernews-2.0 https://github.com/vuejs/vue-hackernews-2.0 && cd vue-hack* && yarn && webstorm . shift-shift "Item" should show https://i.imgur.com/AV1bbXG.png https://i.imgur.com/AV1bbXG.png And `this.$store.` should show the proper completions: https://imgur.com/a/pjcNs https://imgur.com/a/pjcNs It's possible that I've been getting along without the features that some other editor provides. Does VSCode have better Vue integration?
- teleclimber 9y agoMy problem is more with CSS and template support. Here is Webstorm complaining about in a legit Vue v-for statement in a .vue single-page component. And second image is what it does when I try to use PostCSS variables. https://imgur.com/a/BNAa8 https://imgur.com/a/BNAa8
- sillysaurus3 9y agoAha! I see. Do you happen to have a repo I can clone to reproduce the problem? I'm interested in fixing that. Vue's tooling is context aware. It knows when you're within a <style scoped> tag. I see that there's a PostCSS plugin: https://i.imgur.com/JTPlIEk.png https://i.imgur.com/JTPlIEk.png Theoretically, the tooling should be able to use that plugin's lexer rules. PostCSS already registers itself as a language (pcss) so Vue's tooling logic should be: "are we within a <style scoped> tag? search for PostCSS tooling; if if none found, use vanilla CSS." It already does this for <style lang="scss">, so postcss should definitely work. The logic happens in https://github.com/JetBrains/intellij-plugins/tree/master/vuejs/src/org/jetbrains/vuejs https://github.com/JetBrains/intellij-plugins/tree/master/vu... if you want to explore it.
- yscik 9y agoIt also has 6000+ unresolved issues reported, a lot of them open for 3-4 years with little hope of getting fixed. They keep rolling out half-baked support for the trendiest new JS frameworks, while basic parts of the IDE are falling apart every day. (For example, when opening the mentioned "Search Everywhere" dialog, sometimes it just doesn't receive focus. Good luck with that productivity.) Meanwhile, after launch, the IDE grabs focus about six times while loading. Symbol navigation sometimes picks up random unrelated functions from ignored folders instead of the one sitting right beside the file, because it has the same name. Want autocomplete for that vertical-align's value? It just throws up every possible value for any CSS property. Pretty bad when code editors running in a browser engine are getting more usable than your paid product.
- sillysaurus3 9y agoYeah, the unresolved bug reports are pretty annoying. I ran into similar problems trying to get Live Edit working with AngularJS. Symbol navigation sometimes picks up random unrelated functions from ignored folders instead of the one sitting right beside the file, because it has the same name. Even after excluding a directory? If you have autogenerated build folders (e.g. dist/, out/, etc) you have to mark them as Excluded: https://i.imgur.com/E2uXJzu.png https://i.imgur.com/E2uXJzu.png Odd. I haven't noticed that, but I'll watch out for it.
- yscik 9y agoThis usually happens from node_modules, marked as a library folder, so it's indexed and might even be relevant, but it shouldn't really be a better match than the one in the source. And it's not even consistent. Hope they'll get their shit together, it used to be a pretty great IDE before these annoyances started piling up.
- sillysaurus3 9y agoAh yeah, I've always excluded node_modules. That's true though, it should probably be indexed.
- 9y ago
- levelist_com 9y agoIs there a reason you wouldn't just use IntelliJ and install the plugins you need? I used to use separate IDEs pycharm and phpstorm, but then I needed IntelliJ for some Java dev and realized I could just install PHP and Python plugins instead and from then on only needed one IDE (IntelliJ Ultimate). I havent been able to do this with C#, .Net but for everything else it seems to work.