Which editor/IDE do you use and why?

Ben Halpern Jan 01, 2017

markdown cheatsheet

VS Code. I Loveeeeeeeeeeeee VS Code, well it's been nearly 6 months with vscode. In this time period i used many other editor/IDE also like atom, sublime which i previously used too before Code, I recommend this to everyone, Please have a try once....

The main keys to use VS Code:

  1. Peek View
  2. Intellisense
  3. Integrated Terminal
  4. Built-in Git
  5. Task Runner
  6. Built-In Node.js Debugger

These all features are built-in
Highly Recommended for all the JavaScript and NodeJs Developer's

There are many more awesome features...

Have a try once, code.visualstudio.com/download
You can ThankMe Later!

So many folks with good things to say about VS Code. This reply put me over the edge. Just downloaded it. 🙌

Seriously it is the best editor I've ever used, and I've heavily used others including Atom, Sublime, Webstorm, etc. You won't regret it. Make sure to get some of the many amazing extensions!

That's true.

some of the extensions i use are:

  1. .ejs -by- Qassim Farid
  2. jshint --- Dirk Baeumer
  3. npm Intellisense --- Christian Kohler
  4. path Intellisense --- Christian Kohler
  5. VSCode Great Icons --- Emmanuel Beziat

I don't use any snippets, Love to write code myself or just love to do CTRL+C and CTRL+V

VS Code also has really good support for TypeScript and tslint!

You didn't thank me Ben.

Similar discussion on the Issues page of Atom's GitHub repo pushed me over the edge. True story.

Has anyone used VS Code on Mac? Just curious to see if it's worth looking into. Also heard amazing things about the built-in intellisense, is it really that good?

VS Code on Mac is just Awesome.

Atom here as well, the quality, flexibility and availability of packages for practically everything, as well as the low learning curve for making your own totally won me over. The sub-par startup speed has also become largely insignificant after I switched to an SSD.

Currently I have around 78 community packages installed. Might need to go through and cull that list sometime.

Which packages would you recommend?

mumbles incoherently about having to do anything on New Years Day

  • aligner - Align text in customiseable ways with support for lots of filetypes.
  • All the linters
  • autocomplete-modules - Autocomplete require/import statements.
  • browser-plus - A bit glitchy, but an embedded browser. With HMR or livereload, it makes it really easy to develop webapps in one window.
  • color-picker - Inline color picker, really great for CSS work, but works with a variety of color formats. I contributed to it a bit.
  • pigments - Highlights color values in text with the color they represent. Works with CSS preprocessors as well.
  • colorful-json - Makes reading JSON a tiny bit easier. double-tag - Keeps HTML opening and closing tags in sync when editing them.
  • git-time-machine - Visually interact with git commit history for a file.
  • imdone-atom - Turns TODOs and FIXMEs into a kanban-board style interface. minimap - Because minimap.
  • platformio-ide-terminal - A pretty good embedded terminal.
  • project-manager - Makes it easy to load and switch between projects.
  • regex-railroad-diagram - Visual display of regexes as a railroad diagram. Really helps avoid trial-and-error.
  • wakatime - For when you want to know all your code statistics.

And probably a few more.

Great list, you rock, Joshua! I use a few of these. I'm not sure how I could survive without color-picker.

Of course, the only truly necessary Atom package is Activate Power Mode

Activate Turbo Mode

Indeed, color picker, especially combined with pigments, is awesome.

Ah yes, activate-power-mode. Sometimes I use that when I'm feeling really demotivated. It works wonders.

Great topic idea by the way, thanks! It's nice to see what everyone else's setups are, so that I can steal ideas for mine. xD

I used to use Atom as my primary editor. However, I have experience that if you use many packages the editor can get very very slow. Also, editing huge files can take forever processing. For instance there is a file that have over 10k lines of code and I click return and it takes 5 - 10 seconds before the editor response.

For these reason, I have it installed as vanilla and use it for quick/simple editing.

Yes, that can be very frustrating. Sometimes I'll accidentally click on a huge file from the drawer and the whole editor just freezes.

Aye, that can indeed be a pain. That said, I haven't had much need to open large files, and in my experience it's not slow with those unless it's doing syntax highlighting on them.

proton-mode is really nice if you're into emacs+vim but can't be bothered to learn either :)

I mostly use JetBrains IDEs, they're absolutely amazing and provide everything you can ask for, and I'm taking advantage of the free version for students too which is nice. I think I'll switch to the community editions once I graduate, or hopefully I'd find a good free alternative. I just don't like text editors, they feel too barebones.

Do you routinely switch between different JetBrains IDEs with different languages/environments or do you typically work with one most of the time?

I use IntelliJ Ultimate and it comes with all the language support from the other JetBrains IDEs. It's great since I never have to switch editors.

Yeah. I use PyCharm for Python, IntelliJ for Java and WebStorm for Javascript. They're all very neat.

JetBrains builds awesome IDEs. I'm just totally confused when it comes to their seperation of IDEs. I'd say there isn't a single person on this planet that can fully explain the difference of all their IDEs.

Why not just build a single modular one?

There are differences. Important ones.

When I'm developing a rails app, I need Rake tasks but not Maven.

It is possible to do everything within Ultimate but if you're really diving into something like Rails and there is RubyMine, I recommend using RM.

Gogland has been much better for Go dev than IntelliJ. It just feels more natural. E.g The first option in lists like New file... is relevant to Go not Java.

They do build a singular, modular one, that is effectively the union of all their other language-specific IDEs - IntelliJ IDEA Ultimate.

The difference between their IDEs (other than branding) really just boils down to "Which plug-ins am I getting with this version?". Try opening a few of their IDEs, and go to the plug-ins section of the settings, and compare what comes pre-installed.

In many ways, this really isn't so different from the Eclipse model, where Eclipse offers you an "Eclipse IDE for Java EE Developers", an "Eclipse IDE for C/C++ Developers", etc. As with Eclipse, the difference is just which plug-ins you're getting out of the box.

ActiveState Komodo Edit. activestate.com/komodo-edit

It uses (used to use?) the Scintilla text editor component, which I was a huge fan of when it was released in the SciTE editor ages ago.

Komodo Edit is free, and has Linux, macOS and Windows versions, which means I can have a familiar environment no matter what OS I happen to be working in. It seems to be relatively unknown, for some reason, but it's really solid.

I tried Atom but it had a little too much latency for me, and a few bugs, so I gave up. Maybe they've been fixed.

Any insight into how Komodo Edit compares to Sublime?

Having used both: Komodo seems a bit more sluggish at times, but it's free and open source! I realized that the thing I needed most from these graphical editors was the "Open File in Project" dialog, and a "Go To Symbol" hotkey. So anytime that comes built-in or as a simple-to-install extension, it probably works for me.

Sublime got very popular with Mac users first (I know there are other versions now), and that's not an OS I use much, so don't know it very well. Sorry I can't help much :(

One thing I should probably add for context: based on the responses here, I'd wager a lot of the posters are doing web dev, and the tool preferences (and availability, e.g. all the awesome web-oriented packages for Atom) reflect that.

Web dev is only a small percentage of what I work on, and in the past few years I've done mostly traditional server-side and ops tech (Python, Java, SQL, Ruby, chef/ansible/fabric automation, AWS policies and templates, Docker, bash), "big data" and "data science" (SQL, R, Hadoop, etc), and maybe 10% JS, HTML and CSS. For that reason (maybe?) I've tended to a) use general-purpose tools that work well enough out of the box for all the tech I use, b) be portable across OSes (though many are today, which is awesome) and c) not spend a ton of time customizing those tools/add-ons, because there would be just too much work to do.

Now I just customize fonts, a few colors and indent settings, and with Komodo Edit I'm good to go, even on a borrowed laptop without access to my saved profile.

Of course, when a file has to be done on the server or it's a quickie I need in my terminal session, vim is my go-to.

I use Komodo IDE as well. It still uses the Scintilla component with some custom patches (they are sending patches to upstream and merge patches from upstream) and I doubt it will use something else in the future.

That's great to know!

Do you know if the IDE is a big step up compared to the free version?

They offer a 21 day trial so you could try it yourself 🙂 I were very happy with features I got when I switched from the edit version.

I am programming mainly in Python.

I used to use Vim for years. While vim is awesome, I needed an IDE to manage projects and more advanced features like relations between files or debugger. Pycharm is really at the top of the game for that. The debugger is doing charms.
Additionally, there is a vim mode to keep best of both worlds!

I did pass by sublime, but it is too close too Vim for me. The management of project wasn't good enough for me.

Do you use the free or paid version of Pycharm?

I did both.
After a year I switch to the paid version. The paid version gives some additional features like coverage, connection to database, templates languages like jinja2.
Worth features for my quest to a project manager IDE.

On top of it, other IDE from JetBrain are the same, was super easy for me to use Ruby, Go and C# based IDEs.

In Sublime I use github.com/randy3k/ProjectManage
I can switch between projects in below second and manage a lot projects.

For python there is excellent damnwidget.github.io/anaconda/

As a primarily .NET developer, I live within Visual Studio 2015 all day. Upgrading to 2017 this month, however. Work pays for the MSDN licensing.

For all other files, I use Sublime, basically because of inertia. I don't do anything special, but I love the packages. I played around with Atom, but it was way too slow back when I used it.

Any thoughts about using Visual Studio Code for your "all other files" work? I'm not at all familiar with that ecosystem, but it kind of seems like VS Code is trying to be there for the kind of work you do with Sublime.

I'm not against VS Code. I tried it in the past and it didn't do anything that Sublime couldn't, so it's a hard shift for me. I think I'm up for a Sublime/Atom/Viscose face off in the new year. Stay tuned!

Atom.

I used to use Vim exclusively but in an experiment to try new things decided to give Atom a go and really liked it.

The eco-system is strong and it gets out of my way as much as possible.

Do you have a sense of the Atom ecosystem compared to Sublime? I have been using Atom too, but it will never be as performant as Sublime, so it needs to really have a much stronger ecosystem to be worth the tradeoff.

I used Sublime for a while before moving to Vim, but that was several years ago so can't speak to what it is like now, Atom's is at least as good as Sublime's was then.

I use several. For my use, I find each has a set of use cases it's strongly suited for:

Sublime (via context menu): useful for single files or scratch areas, because the launch speed is so much faster than VS Code (~10x a few months ago). Hot file save and new tabs for quick notes you don't want to persist to an actual file are very handy. Addons: Package Manager, Material Theme (+ AppBar), Pretty JSON, and language specific extensions like Cisco, Go, Jekyll, Markdown Preview, PowerShell, Puppet, Sass, and Varnish.

VS Code (via context menu or CLI: code .): useful for entire repos/directories, searching across those structures, and actual builds for .NET Core. Also very useful for Go editing and debugging. Available on both macOS and Windows which is a huge plus on the laptop. Recently gained hot file saving like Sublime which is attractive but not quite there yet. Addons: C#, MSBuild Tools, Output Colorizer, PowerShell, Settings Sync (syncs settings via a GitHub Gist), and vscode-icons.

Beyond Compare (via context menu): useful for comparing 2 directories, files, etc. Also very useful for 3-way merges, image comparisons, etc. Very reasonably priced and available on Windows, macOS, and Linux.

Visual Studio 2015/2017 (via start menu pin list or CLI: .sln file): Daily IDE for .NET projects (editing, building, debugging, etc.), far more powerful than any others but insanely heavy and overkill for small/quick projects of investigations (like a file grep in a solution, which VS Code is quicker to launch and accomplish).

Anything to be aware of mentally when switching between editors?

I rarely switch, a given task usually stays within an editor. As far as different behavior between editors, I find most of them behave the same in terms of command access...except when changing between Windows and macOS. I've hidden VS Code with Ctrl+Shift+H so, so many times.

I find that the very small and fast mental cost of choosing the editor up front is the main mental switch involved. After that the features are just better for the scenario. For example, the file tree (with vscode-icons) is far better in VS Code than Sublime (IMO). Visual Studio doesn't even show a file tree, it's a solution tree. It has an open directory mode in 2017, but it's far slower to start up and generally it's not worth the cost for whatever task I'm trying to do in such a scenario.

Visual Studio is also not as versatile for multi-lingual setups - and I'm hopping around many systems in my role at Stack. For example when I'm doing Puppet, network configs, DNS, Node.js, Go, etc. VS Code just works...and works pretty well. Since you can define build actions in the repo, it's very easy to have one editor where "building" does what you want across so many things. Extremely handy quick editor.

Contrast that with "I just want to take a note" or "I just want to edit one file" - you want to minimize your overhead which (by a much larger percentage) is now startup cost. Sublime 3 wins there, by a huge margin. It's also one window pane rather than many. It's simply optimized for it all around. Note: you can open a directory in Sublime, but it's pretty raw and just a directory browser in the left pane. But, you can open several if that suits your workflow.

This is just additional reasoning and examples of why I choose the editor I do for the scenarios listed in my post above. Hopefully that better explains the upfront context switch decision, in order to avoid many more down the road.

I used Brackets for a good while, even contributed code and helped out on the bug tracker. Heh, I wrote an extension for Brackets that (at last check) had over 9.6K active installations!

That's when I heard of VS Code. I downloaded it to try it out and never went back. While Brackets is geared towards design, VSC is more towards development, which is my area. VS Code also feels more polished and stable. The fact that Brackets 1.8 just added cut/copy/paste to the right-click menu (the Trello card for it was made in 2013, trello.com/c/ZriVEu50/935-clipboar...) makes the VS Code development feels focused and on track. I watched so many Brackets releases pass and features pass by (code for a portable version has been effectively ready since late 2014) while VS Code has focused on usable and profitable features in each version.

In the end, I'd gladly use Brackets or Visual Studio Code. Both are good pieces of software, and TBH, I miss some unique Brackets features.

Textmate, mainly Go and shell and tons of Markdown

Not a lot of Textmate in this thread. It seems to me like a lot of folks who used it years ago have migrated to other editors. What's made you want to stick it out?

Very valid point. I tried to migrate to Atom (failed?), I really like VS Code (but also somehow failed to migrate, kinda). Honestly? I dunno why I'm still using it other than 'if it ain't broken …' ;)

😁 Folks can get so caught up in tools. Some of us could probably stand to take this attitude a bit more often.

VS Code for sure! Absolutely love it! The Intellisense for TypeScript especially but excellent support for JavaScript as well as many other languages! So much faster than Atom particularly when opening very large files. Also I found Atom had far too many package errors too often, something I haven't ever seen with VS Code. I also prefer it over Sublime Text for several reasons: It's totally free, I don't have to pay $70 for it. Also I find it to be a far more modern experience. It also has monthly updates that significantly improve the experience each time, and there's a fantastic extension community. And all of those editors are better than Webstorm, which is far too clunky and slow of an experience for me.

I've heavily used Sublime, Atom, and Webstorm in the past so I based my decision very much off of experience.

IBM Swift Playground.
Just found it and liked it.

Xcode for extensive work.

Interesting. That's the web-based editor? What do you like about it?