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/
Vim emulation for VScode is not really there 😣
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.
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:
These all features are built-in
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!
some of the extensions i use are:
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!
Similar discussion on the Issues page of Atom's GitHub repo pushed me over the edge. True story.
You didn't thank me Ben.
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
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
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.
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.
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.
I've heavily used Sublime, Atom, and Webstorm in the past so I based my decision very much off of experience.
Spacemacs. Still learning it but I got sick and tired of Atom eating up multiple GBs of RAM and needing to crash or restart it every few hours. Yes, it's "probably a plugin" but I decided learning Spacemacs finally was worth more of an effort vs continuing to mess with it. Needed an excuse and got a good one.
Me too. Long-time VIM user, but was wooed over to spacemacs because of evil mode. I really enjoy having the best of both worlds. Spacemacs is a lot more powerful than VIM in many ways, but it is a lot slower to load.
There are still some things missing for me, and some things I am still not sure how to do, maybe you know?
1) Easily switch between "frames" or "tabs"? In vim I would use tabs that had a collection of windows inside so I could easily create visual separation between coding tasks in the same project. I'm sure spacemacs can support this, but I have yet to figure out a good way to do it besides looking up previous buffers
2) Automatically kill text buffers that are not open. If I leave my computer on and do a lot of work across projects, I will accumulate a million buffers. I would rather this just pruned itself automatically
3) Project separation? I wish there was a simple way to setup my desired shell/window layout and have it work seamlessly when I switch projects. I work with a lot of micro services, and I have some node, some python, some pure front-end react, and I have different editing needs for each, and I need to have them all open in an editor at the same time. In VIM, I just used ITerm to create this separation for me, but it's proving difficult in spacemacs, which leads me to do half my work in the terminal, and the other half purely in spacemacs.
I'm also a spacemacs user, I might be able to help a little bit!
1) Look into layouts. It "comes for free" with the standard spacemac setup I believe. SPC l will get you to the main layouts menu. I think they function very similarly to tabs. I've saved a standard layout to a file, so I load it when I start spacemacs. (Mine is pretty simple, just a development tab and an org-mode/notes tab)
2) SPC b m will kill all buffers other than the one that is currently in focus. I am pretty sure that this WILL kill buffers that are open in other windows. My preference is to use SPC b b to open the buffer list, and select buffers that I want to kill with C-SPC (this select the buffer), then I can kill all selected buffers with M-D (alt shift d).
SPC b m
SPC b b
3) I'm not really sure what you mean here. You could set up a layout, and have different tabs for each of these editing environments? Unless you mean that you need a shell to run code/tests? Spacemacs can open shell buffers which might help, or you might want to look into layers with the functionality you need. I'm mainly a scala dev lately, and the spacemacs scala layer has great sbt support so I can run tests very easily for whatever buffer I'm in, and changing projects is painless.
Also switched to spacemacs. Pretty great so far!
I also made the switch to spacemacs from vsc a few weeks ago and I have to say the experience is positively different =)
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.
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.
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.
Visual Studio Code of course, I develop web applications in a python framework called tornado, I used to program in pycharm but it does not supports template syntax of tornado and when i tried vsc and when i realized that there is actually a plugin that supports it
I was surprised, visual studio has so many extensions and many others good stuffs, just great!.
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.
Thumbs up x 100000 on this. I work in entirely same fashion, with perhaps a slightly strong emphasis on Visual Studio.
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!
I use vi, vim or neovim since more then 20 years.
Since about one year I use Emacs with Spacemacs. For me it is the most comfortable way to use vim.
The main reason is that it's fast, I love modal editing and to move around with h-j-k-l is part of my DNA. In every other editor the first thing I search for is a vim plugin - and by the end of the day I switch back ...
Plugins I don't want to live without are
Over the years I had a bunch of plugins - but I moved more and more to the default features of vim, so I can work with every vim out of the box.
I am very close to command line. I use (n)vim in iterm2 (not GVim) and/or emac(sclient) in iterm2 - together with tmux.
bbedit by Bare Bones Software. It is tight, responsive and highly functional. Very fast.
Specific features that are very important to me are...
Find/Replace functionality together in a non-modal dialog
-with 'replace in range'
-vastly superior regular expression support
-excellent 'in document' and 'search in project' dichotomy
Project view allows abstraction over file system
-'rename in project' allows disambiguation of similar file names
-select what shows and in what sequence so I don't have to look at things I'm not working on now
Excellent clipping support with flexible substitution options
Text filter function allows me to attach arbitrary executables that operate on range or entire window (I have written several for myself in Node)
Exquisite key command flexibility
Good (and automatic) language and project completion functions
Good right clicks (I especially 'Go Here in Terminal')
Also, the people that work on it are swell. When I have asked questions or suggested features, I get a completely pleasant and human reply. Clearly, the people at Bare Bones care about bbedit and the people who use it.
Sublime's performance and options for customization has me hooked. I've been using it for a year or two now, so I have my workflow ironed out now. All the tricks and shortcuts feel intuitive and effortless. Among others, packages like Origami (achieving functionality similar to GNU's screen command) and GitGutter (git diff indicators in each file's gutter) make development much more enjoyable.
I tried Atom back when it was first ramping up and the experience was similar, but not on par with Sublime.
For compiled languages, I'd say that Visual Studio is fairly solid. I used it extensively for a C++ asteroids clone (using SFML) and wasn't burned by the experience. For any future work of that kind, I think I would use Visual Studio.
Hypothetically speaking, if I were to say that I use nano for headless server work, would I be allowed to keep my developer card? Hypothetically, of course...
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.
IntelliJ IDEA/The JetBrains suite.
A few years ago I was writing Java in Eclipse and got really frustrated with how clunky and blaoted it felt. Decided to try out IntelliJ and loved it. (Currently dabbling in some Unity game dev using Rider)
For everything else (general text editing, smaller scripts etc.), currently trying to learn Vim.
PHPStorm, the best PHP IDE if you work with Symfony
Codelobster IDE with special Symfony plug-in works best for me - codelobster.com/symfony.html
JetBrain IDEs are impressive!
RubyMine for Ruby/Rails, and Atom for everything else.
I happily pay for my annual subscription for all the JetBrains IDE pack: they are so smart and save me so much time that it cancels out the (rare) occasions it may be slower than Atom.
What are you doing outside of RubyMine?
I am using pycharm and I am rarely outside of it. Only cases I find myself working with vim is for quick (and dirty) edition.
What about you?
Xojo for most things. From single source you can compile native Windows, Mac and Linux desktop apps. Plus it can also make compiled web apps and native iOS apps. I also keep Visual Studio around on Windows and Xcode on Mac, of course but they can be such a pain to use.
I mostly use TextWrangler on Mac, but VS Code has been getting more use lately. I use Versions with Subversion and SourceTree with Git, both with Kaleidoscope for diffs. And VMware Fusion for testing apps on multiple platforms.
Wow, I'd never heard of Xojo. It's seems like a whole different take on the process.
Yes. For many folks it is a different, and hopefully easier, take on software development.
For me IDEA works better than Eclipse/STS (the other major contender for what I do) as
I purchased WebStorm a while back and have been very pleased with it. It works well out of the gate only plugins I use are for language support like bash & markdown. I love using it since it is a full IDE with intellisense, also has lint support built in, a terminal, npm support, mocha test and debugging. I have saved so much time with the refactor features it has been worth the price twice over.
I was a big fan of Atom, but recently I've fallen in love with the features and speed of Visual Studio Code, for quick coding it's solid. I also use WebStorm for more complex development and debugging.
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.
c9.io online editor for when I am working on Staging servers outside of my LAN network. For Offline/Local files I simply use VS Code (which replaced PHPStorm -- too heavy on my cpu and memory consumption was high as well).
I currently use NeoVim with tmux for all my projects. There's a good plugin ecosystem and as a result it works pretty well in any language.
Since I use everything from the terminal I containerized my setup. I can run my entire development environment from any machine fairly easily. I can even run it from the browser if I want now: github.com/AGhost-7/nodejs-online
Same here. (neo)vim+tmux has been a boon to my productivity. The use of these vim plugins really marries the combination beautifully - github.com/christoomey/vim-tmux-ru..., github.com/christoomey/vim-tmux-na..., and github.com/janko-m/vim-test
I use SublimeText-3 on Linux as Atom autocompletion/code navigation doesn't work all the time. VSCode control+click navigation takes a ton of memory and makes the system unresponsive. PyCharm font rendering is pretty bad on linux and is freaking slow.
I use VS Code for front-end stuff, as it's a magnificent tool for web development workflows. And I tend to use Visual Studio for all .NET related work, but I'm more tempted by the day to switch to Code + extensions for that too.
Emacs for just about everything, to me it is effectively a system daemon for text manipulation. I use many packages and have customised it extensively with configuration in a literate programming style using org-mode. All my notes and documentation are written in org-mode which together with org-babel allow for executable documents.
It has lots of great features but is also outstanding simple to use in case just need an editor.
You could add your own languages through simple plaintext files (xml).
It is really fast! (in comparison to all these java-based IDEs).
Even just Text Wrangler or Notepad++ (depending on my working environment).
I've used a few text editors/IDEs over the years ( not including when I used TextEdit for bukkit configuration and extremely basic java ).
When I first got into programming, I started using Eclipse with the PyDev extension, because python was all I knew how to work with, and I had tried to make bukkit plugins and everything directed me towards Eclipse, and it worked fine for me. It had all the features that I really needed back then (simple autocorrect and a 'run' button).
When I got into web development with just HTML, CSS, and JS, I started out using atom, because I liked the "one dark" theme. I still look for that theme in any IDE that I use today.
After a while, atom got too slow for me, and I looked for something new. I moved on to brackets. It doesn't have the best support for server side languages, but for client side it was the best ! I used an SFTP auto-uploader to upload files to my AWS instance, and used the "new one dark" theme. That worked great for a while, until I got into server side languages like PHP.
It was a while until I found a good editor with good PHP support for me, but then I came across the JetBrains suite, and that's what I've been using ever since. With a one dark theme of course. It has everything that I could use. I use PHPStorm for all my web development, PyCharm for python development, RubyMine for ruby, IntelliJ IDEA for java and projects with multiple languages, and I've recently started using Visual Studio 2015 Community with ReSharper, until I found Rider, which is unfortunately still in EAP, but still it's built on IntelliJ IDEA, and has worked fine so far for me. Also, for working with databases, DataGrip is amazing.
But to be honest none of them can be even compared to IntelliJ IDEA. It has by far the best framework support and really incredible code completion. And once you get acquainted with keyboard shortcuts the productivity goes to the roof!
I'm using VS Code.
I use it because it it free, easily customizable using extension and themes.
Previously I was using Webstorm which is great IDE, But VS Code has all feature for free, which is great.
Right now, I'm using SublimeText for my front end JS/HTML/CSS stuff, PyCharm for Python, and Eclipse for Scala & Java. I'm looking to move away from all 3 however, so I'll be raiding this post for ideas! SublimeText is feeling too simple and Eclipse just always seems to bog me down with problems. PyCharm is great, but if I could consolidate everything into one IDE that would be fabulous.
My IDE components for Perl5 development are:
programs reside in a SpiderOak hive
Who (T*F*) needs an IDE? :P
Did I mention the Alt-TAB key?
Can anyone recommend a solid setup for React.js development with VS Code?
I currently use Atom w/ the following:
and it is nice, but I love VS Code Intellisense with typings.
vim/neovim: modal editing has really helped with wrist pain, and though the learning curve is steep at first, the power of vim is hard to overestimate. Rather than an editor, it gives you a highly configurable language for editing code or other text.
It has good support for almost any programming language out there, (through plugins), and it's feasible to write your own plugins.
The only thing I envy in more full featured IDEs is automatic refactoring support, though that's by no means impossible in vim, it's just that it's a lot of work to build, and it hasn't happened for a lot of languages yet.
I strongly believe some editor works better depends on the language. I used many editor/IDE depends on what I am working on.
I went too far down the rabbit hole and reached a point where my speed and flexibility of text editing can't be achieved with anything else out there (well, appart from neovim of course).
The price to get to this point was high and took me a lot of time and I don't know if I would do it again (at that time Atom nor Sublime Text were a thing and Textmate was OSX only).
I might one day switch to something that correctly embed vim or neovim but right now things are good enough for me and I prefer to put time elsewhere.
Half the time I'm using a JetBrains IDE (language specific) and the rest of the time I'm using good ol' Emacs. The JetBrains IDEs do a bang-up job helping spelunk existing code bases and provide great debugging abilities that help in understanding what's going on.
Emacs is the editor I imprinted on way back in the 80's when I first came to Unix. It was everything: editor, IDE, note-taker, window manager, shell wrangler, VCS, and still is. It's where everything begins and everything ends for me.
A year ago I was using Sublime. Most of 2016 I used Atom, but I recently switched to VS Code after seeing some awesome demos. I think I always kind of preferred Subl over Atom but liked the OS nature of the latter.
VSCode and/or Visual Studio.
VSCode is light and available on Linux, easy to configure with tons of different languages and features.
Visual Studio for when I'm on Windows (read: at work). It fits for everything the team is using.
My goal for 2017 is to become more adept with the command line, bash specifically, so Nano is probably next on my list.
I'm writing code in Bash, Go, JS, Python, and PHP and I have to say for 4-5 years I was using Sublime Text Editor. About a month ago I switch to Atom and I'm notlooking back.
Right now I have to say switching from Sublime to Atom is that Atom does everything that Sublime was only able to learn through trial and error. The only difference is Atom did it right the first time. Ease of use, configuration, package manger, and simplicity.
Atom is worth checking out just for the package management system.
My packages are mainly language specific, but I really suggest minimap (Like sublime source code viewer) if you're missing Sublime's feel.
I use GVim. It's fast, the "non-mouse" approach is definitely appealing to me as a programmer and I have plenty of plugins that make it as good as any of the heavy, memory-sucking IDEs, without turning it into one.
Why GVim instead of Vim? Well, if I happen to need a mouse, I can do it nicely.
Atom is my favorite but with it's performance issues, I cannot tolerate it. If they had equal perf on par with vscode or sublime, it would be my daily driver.
For me its: VS Code
Visual Studio Code, It has more IDE features than your sublime/atoms etc without feeling slow and heavy like Webstorm and Visual Studio. It has the best typescript support of any text editor. It's performance is significantly better than atom and on par with sublime.
At the end of the day it's a tool, and In MY own opinion, the tools it has built in and the packages that can be added and the ease of use make it the best tool for ME, but I truly believe that MS made a great product(for the first time ever...).
The remote debugging (debug in general) for chrome within VS Code is phenomenal.
A little bit of everything, as the answer depends strongly on platform and language.
I use Visual C++ on Windows for C and C++, mostly because of the strength of its debugger, and the fact that code navigation in VS has become part of my permanent muscle memory.
I use PHPStorm to edit PHP, because of the strong built-in language support for a dynamically typed language that needs any help it can get.
I use jed (a simple emacs clone) on Linux, because it runs in a terminal window, I learned emacs first, and like having multiple buffers. It has built-in syntax highlighting with no need to configure anything, and the shell is never more than a Ctrl-Z away.
I use vim on macOS and Linux, again because it runs in a terminal window, but I'm not a power user yet, and haven't even sorted out a standardized .vimrc file.
I've also started using geany as an IDE on Linux, and intend to look more closely at it in the future.
Xcode - because no alternative;
Eclipse - because I'm used to it and it has plugins for everything
Atom - because it's simple, convenient, actively developed, has lot's of plugins and has out-of-the-box support for a lot of languages that I use less often, so no setup hassle if I want to hack something up quickly.
Visual Studio, when on windows and doing C#, F#, this is THE tool.
I've been a stubborn holdout with Coda for a long while, not least because Panic make great software and I'd invested money in it already. I'd previously used Komodo Edit and Komodo IDE which at the time I chose over all (what seemed to me to be) sluggish Java based IDEs (Eclipse, Zend etc). But after years of using Coda 2 the continued lack of support for XDEBUG made me take another look at the market. I'd have switched back to Komodo IDE but it's expensive compared to PHPStorm (despite their recent unwelcome price restructure). Storm has all the features I miss from Komodo IDE. Atom is great for small projects but I found the more plugins I installed to restore proper IDE functionality just dragged it down to the point at which it became unuseable.
I was using Visual Studio for C# and ASP.net world. Then I moved to Python and I m stil using Visual Studio with the Python Tools. It has nice Git integration and the debug system is working well (nice interactive mode and watches).
For Node.js I use Visual Studio Code and Sublime or Atom for front-end development.
I have been using Anaconda for Python (Sublime plugin) but Visual Studio is performing better.
I used Eclipse with Java (just for academical purpose) and I am disappointed about it, I do not like it and I found some many issue (starting from the easy stuff like searching through files to the Maven integration and packages build).
Since I'm primarly working on iOS development, I'm stuck with Xcode. It has lots of features and is pretty nice, but it's really unstable(crashes a lot) and combined with the slow swift compiler, it can be tedious for swift programming.
Whenever I'm working with python, Pycharm is my first choice. Its debugging, refactoring, project managing and intellisense features makes the python development a breeze. IntelliJ is the way to go for the IDEs.
Atom, for flexibility, power and open-sourcieness; shame about its performance on my notebook but hey. I use Visual Studio for projects in C** languages, for intellisense, with extensions to add multi-editing.
I use a full IDE like Intellij for large (corporate) projects, VSCode for most of my (medium sized) projects and CodeRunner for just writing a couple of lines very quickly.
To all of you Atom lovers: have you ever tried VSCode? Why do you prefer Atom? I'm asking because I cannot think of a reason. Most Atom users I've met, have never tried VSCode before.
CodeRunner (macOS only) needs an honorable mention especially for all students out there. It integrates syntax highlighting and code completion for most languages, but it can also run them right out of the box. It's the perfect tool for small projects you want to get started with as fast as possible. VSCode and Atom often need some extentions to install and json files to setup. That's very different with CodeRunner.
Emacs. It was the first editor I used where I could have multiple windows open, but each window had access to all the open buffers. At the time, Vim couldn't do that so just didn't compete when working on multi-file projects. Anyways, 20 years later I'm still using Emacs.
Vim on any Linux/MacOS system, Notepad++ on Windows.
What I like most about both is that they're free, lightweight, and easily customized. The vim learning curve was steep, but I enjoy the power of the keyboard commands and shortcuts.
PyCharm for big python projects, currently giving VS Code a try for mid-sized stuff in any language (I was previously using Atom, although will probably go back to it).
For small stuff (one or two files) I use Vim. Or Vi while inside some external server.
Atom. Currently SSD-less on my MBP 2012, so sometimes there are lag issues, but I've put so much time into setting up my workspace and I don't want to swap to Sublime Text (even though I know it's faster).
If I'm working on a .NET project (C# or F#), I use Visual Studio. Resharper for C# is a must, but I admit I haven't tried CodeRush.
If I'm working on a C/C++ project for Windows, I also use Visual Studio.
If I'm working on an iOS or macOS project (Objective-C, Objective-C++, C, C++, Swift), I use Xcode.
Vim "clicked" for me. It's power, and it's "keeping your fingers on the keyboard home row" gets the editor out of the way, and I can "become one" with my code. Very zen.
Visual Studio is a solid IDE. Big and heavy-weight, but very appropriate for "thousands of source files" large projects.
Xcode is the leading IDE for macOS or iOS development. I find it to be okay, although there have been occasional unstable releases. Like Visual Studio, Xcode can support "thousands of source files" large projects.
Why not these?
I used to use Emacs for a couple years, but it never was to my liking. I gave it a serious try, and I wanted to like it, because... Lisp. But no. The first day I tried vi and figured out the modal basics and how to save a file and how to exit vi, I was hooked and switched from Emacs never to look back. Vim is vi with the addition of tons of lovely chrome and fins.
Visual Studio Code and Atom both seem nice, and are both undergoing very active development. Neither will replace Vim for me. But since they both have a very active community, I expect that both will vie for the hearts and minds and address the aforementioned woes. The "activate-power-mode" is a "killer app" plug-in, and should be on every platform.
I've used BorlandC++, and have fond memories of it. I have not kept up with the latest developments in the past could decades. It may still be awesome... don't know.
I've used Eclipse, around Java 1.4 era. I was impressed with it as a top-notch Java IDE. My Java friends are fiercely loyal to IntelliJ. I think both are good platforms. If I get back into Java programming (unlikely), I'd be happy with either platform.
The other various JetBrains platforms definitely look like very viable alternatives to Visual Studio or Xcode. I just have not had the time to see if they can handle my very large cross-platform project, which has about 230,000 files. Xcode and Visual Studio can handle them.
Unlike a previous poster, I was never enamored with Smalltalk IDE, nor the Squeak IDE. I also am not a fan of Forte IDE nor PowerBuilder IDE.
I used atom and brackets for web development, but atom consumes so much of RAM and the performance is very low even with the minimal packages. Then, I switched to VS Code and I liked it. The code completion, on hover of a css property or a java-script function showing the documentation of it surprised me.
The first because it's a full IDE with everything I need with plugins for other integrations.
Spyder it's perfect for python because support many tools and is high focused in that.
Kate because on KDE it's fast and simple.
Sublime text and the old good eclipse. Both have advantages and some inconvenients. But both are very useful as soon as you try to develop something serious. I can not talk about other tools, I am not using others.
Intellij IDEA for Java/HTML/CSS applications, Android Studio for Android focused work, Data Grip for the databases and the rest of the IDEs for language specific development.
I am running Atom as an experimental text editor, still working to get it into my workflow, and TextEdit (on the Mac) for those large SQL and code files.
I use SimpleNote for documentation and was hoping that I would somewhat get integration with Atom so that I have a single workflow, but I am still praying
Already respond on Twitter, so I'll copy/paste \o/
Visual Studio for pro projects & Visual Studio Code for personal ones. Reasons are quite simples: they are good and getting better every year, and really extensible!
Stack Editor, I built it by myself from scrach! github.com/Cirru/stack-editor
In Stack Editor, I'm trying to hide concepts like file and syntax, instead, I'm introducing AST tree and call stack sidebar. So programming is about modifying AST and namespaces, rather than edit stuffs on the file system. That's the cool part or Stack Editor.
I like to use many different ones, depending on my mood and what I use them for.
For text editing and minor code edits, I use atom
For C++ I use either juCi++ or CLion, depending on my mood. CLion is great because it's very feature rich, juCi++ is great because it's an artisanal, open source IDE to which anyone can contribute, which I can thus customize to my preferences.
On my phone I mainly use vim (without any plugins) and on my PC I sometimes use vim-spf13, usually when I'm working in console-mode at the moment and can't be bothered to start atom and navigate to that folder.
When I can't be bothered to use vim, because I'm in a bad mood, I generally use nano.
When I was still using Windows, I usually developed on Visual Studio, which is (in my opinion) the best IDE that has ever seen the light of day, without contest whatsoever. Unfortunately VS is not available on Linux, so eh.
Vim (mainly because I want to continually get more proficient at Vim). Used Webstorm, Brackets and Sublime but always come back to Visual Studio Code. Very extensible and (currently) minimal. I worry that over time it will come to be a bloat like Webstorm. I do wish it had Live Preview out of the box like Brackets without the additional configuration (not a big deal once it is set up).
I predominantly code in PHP, and yes i use VIM, mostly because i wanted to learn how to use a modal editor and it integrate well with TMUX terminal.
Hell I even Debug PHP in VIM. :)
ctrl-p : Fuzzy file, buffer, mru, tag, etc finder.
indent-line : For line indentation and whitespace characters
nerdtree : To view the project structure tree
syntastic : Check syntax error on save
tagbar : A class outline viewer for Vim
vdebug : A beautifully written powerful plugin for debugging in Vim
vim-fugitive : Awesome git wrapper for Vim (must have plugin)
YouCompleteMe : Intellisense
While properly coding (in Linux), Atom. Seems more flexible to me than Sublime Text when dealing with project folders.
While fast editing/coding in Windows, Notepad++. I'm just used to it, it's a fast, handy tool to have a look at files and/or edit them.
Vim (not even neovim). I like the modal way of moving around and copying and editing. I should probably move to something more modern like Atom or Sublime with vim keybindings, but I haven't found the motivation / energy to do so. I'm mostly writing python FYI.
Eclipse for most of my Java work. Mostly because I'm so far too lazy to move my workflows to anything else. VS Code for Python, TypeScript and the rest of "development" work. And vim for anything happening remote and all means of systems and server administration. Would love to use VS Code for Java too but so far this hasn't been much fun. ;)
Aaaaand XCode for iOS development, because you basically have to. ;_;
Atom is too slow. Can take a couple of seconds (!) to even just focus the IDE with a few plugins. Visual Studio is too bloated. There are a few remaining frustrations with VS Code, for example, excluding files specified in .gitignore from search results, but overall, I find it the to be the pack leader.
mostly netbeans, sublime, visual studio, I have recently started to use cloud9 so I can code on my dev with any notebook / workstation with ssh workspaces. Having everything ready in a second is a big plus.
Highly configurable shortcut system, UI, and "omnibox" search: I usually put it in "distraction free" mode: no more panels/menus/toolbars, all the space to the actual file content, then I can toggle visible the panel for accessing the filesystem/dvcs/maven with dedicated shortcuts. Same goes for building/running/code hotswapping.
VS Code + Terminal. Feels like a faster, tighter version of Atom and the plugin eco is on point so far. Been bitten by weird atom bugs and startup issues a few times. The Go Tools suite from lukehoban is pretty robust too.
Kind of curious about Gogland from Jetbrains, but juggle a bit of python and powershell in addition to Go so it's not a must have.
Spending more time in Binary Ninja these days too, but not sure if that counts =P
I use vim with the spf13 .vimrc files. Primarily because I've gotten used to all the remote work I've done with vim, and the spf13 vimrc files allowed for an IDE like interface that can be customized for my preferences, and easily repeat it across systems.
I was team Atom for all of my editing needs. However VS Code came along and seems to be a little faster in my opinion. And has all of the Plugins I've been looking for from CloudFormation to other Hashicorp tools.
It's been Atom for some time now. I have my installed packages backed up in my dotfile repo, and a customized theme.
I don't seem to have performance issues, but I also only have a small handful of packages installed.
I am using Emacs. It is really complex, but after having used Sublime, and later Atom and VSCode with Emacs key bindings, I came to realize that I probably should use the real thing.
Luckily, I am programmer, so that helps with battling the complexity. I rarely use other editors these days. :)
Webstorm for Node projects; I appreciate the variety of plugins, and its configurability. A plus is that I can set it up for Emacs key bindings. The JetBrains family of products is tops on my list, whatever the language or stack. If I'm doing something Python-y I'll fire up PyCharm.
Emacs when I'm on the command line in either Linux or MacOs. Been using it since the 90s and it's all just muscle memory.
Xcode for C++ projects. I find it very intuitive for some reason.
Any of the Jetbrains IDEs, depending on the language I'm using. Mainly WebStorm and IntelliJ.
Emacs, of course, because its endlessly and easily configurable.
I put a thread of this nature up on Reddit the other day which has some great responses in it :) reddit.com/r/web_design/comments/5...
I use vim exclusively, because I can't imagine using an editor without all the zillions of shortcuts vim has, especially the ones I've added with plugins.
Oh, and also I like keeping my hands on the home row.
Because it's on every machine and I wget my .vimrc + .tmuxconf and i'm coding in less than 10 seconds.
on Linux: vim
on Windows: atom
Why the different editors for different OS's?
I have not figured out yet how to make vim run on Windows :c
Git for Windows (git bash) includes vim ;)
Currently using VIM as it is enough for C programming with a few plugins for comfort like Vim-Airline
The other IDE I use is XCode for Swift Programming.
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?
Atom. Nice, big edit space, plenty of toys you can add, and generally a great balance of no-nonsense and essential functionality.
If you really want something better than Atom and Sublime you must buy MyEclipse, that is the best i can find even better than Webstorm.
Heres the link.-
For more lightweight work (Web Development, and scripting languages such as Ruby) I tend to use VSCode.
For more serious work I also tend to use JetBrains' IDEs.
Atom. Octocat. 'nough said.
IntelliJ, because it does things I didn't even know an IDE could do. Also, full keyboard support!
That's what my friends use.
PHPStorm/IDEA from Jetbrains - I don't know what I'd do without it's features.
VSCode because it strikes a perfect balance between editor and IDE.
For php phpStorm
For puppet phpStorm
For bash Atom/vim
For Java eclipse
I can do whatever I want with it, no matter language or task only with the help of a few plugins, and unlike vim Emacs feels natural to me.
Sublime text 2/3.
Simple, lightweight and easy to use.
Sublime (vintage) + vim. I love the simplicity of sublime and the complexity of vim.
emacs. It's fun to tinker with (which may or may not be a productivity boost).
I used to use Atom, but it feels slow, for whatever reason. I then switch to VS Code. I mainly use it to code Rust or JS and I'm happy with the current level of support for both in VS Code.
I am using sublime text 3 because it is simple yet it has everything I need.
When in Microsoftland, Visual Studio.
For other projects, Atom.
When quickly editing a standalone file, Notepad++ (Windows) or Vim (linux).
I use the Eclipse IDE for Java and the Eclipse PDT IDE for PHP. I use this IDE because it was the first one I ever used, and it is very easy to work with. Another plus is that it is free to use :D
brackets, i am just too used to it, have tried switching to sublime but i can't, i want to try out webstorm right now
I use Visual Studio Code, because it's:
-Open Source & free (Didn't want to pay for Sublime)
-Supposedly faster than Atom
At the moment Code::Blocks for C++ and Visual Studio Code for JS. Mostly because they're free.
IMHO Visual Studio is the best IDE by mile and Jet Brains is the clear second.
I like to work on an IDE for projects and an editor for anything else. JetBrains' WebStorm and Atom are my choice, but Vim becomes essential when on Terminal already.
VSCode. And I like it very much. I really wonder whg Microsoft offers it for free. It's really good. Atom was too slow and buggy. VSCode is fast and clean. With lots of features.
Currently using VIM as it is enough for C programming and shortcuts are so useful.
The other IDE I use is XCode for Swift Programming.
IntelliJ Ultimate and any other JetBrains IDE. And I use them because for me they offer the best experience while developing.
Doing Objective-C Mac programming, so Xcode. I wish I could still use a Smalltalk IDE. No other IDE comes close, especially not in the "I" aspect.
Emacs, and/or 4coder.
vim! You get to feel smug and also it's basically guaranteed to be there on any *nix machine you need to edit something on.
I love having everything in a terminal window. I use iterm2 + tmux. Editor (vim) in 1 pane, tests running in another, logs in another. I never have to leave my terminal. Is really nice :)
vim for scripting and new languages (Rust, Clojure, Elixir), Visual studio for .NET, RubyMine for Rails and Sublime Text for Web though WebStorm is growing on me
at work i use Jdeveloper and tbh it sux big time...
at home i use Atom or Visual Studio it depends on what I want to do.
Vim 90% of the time, Atom with Vim bindings the other 10%
Visual Studio or IntelliJ IDEA.
We use ATOM for its ecosystem. But definitely it needs some performance improvements
Until today, I was an Atom user. This due to its simplicity, and the rich plugin ecosystem. Also, it's free.
I'm now trialing VS Code as Atom's slowness has really started to grate.
vim because I've used it for almost 2 decades and it's familiar.
It was the first one that I randomly chose.
😝 That's how I chose my first editor when I first got started. I used Textmate for way too long. Atom is a fine choice.
PyCharm Pro for Python; WebStorm for web development; IntelliJ IDEA or Eclipse for Java; Notepad++ as a general lightweight text editor.
Since I work in very heavy Java projects, I mostly use Eclipse. When I escape from it, I use either GEdit or nano.
Brackets, I like the minimalism <3 - it lets me focus on coding better, with less distractions :D
ST2/3 and emacs key bindings (actually OS-wide) have treated me very well for a number of years. Linting for JS/python is easy to manage and relatively performant.
I use vim for pretty much everything code/text-related.
Visual Studio Code user here! Love how good the intellisense feature is, it's also fast and has a healthy plugin ecosystem. Definitely worth a try if you've not had a play around with it yet!
Really seems like Microsoft is killing it for devs in the last couple years. I might just have to make the plunge.
Visual Studio with Resharper for C# and WebStorm for JS
Sublime Text 3
I've been using it for years and it's great
It's extensibility and customization are tops.
vim for most things... because it is close enough to vi. I cut my teeth on it.
PyCharm when I need to navigate or debug python code. It just keeps getting better with each release.
Phpstorm, It's a bit heavy sure, but with XDebug and a few other cool things
Edit: Moved to Atom. Does everything I need and looks pretty.
Sublime. It's very quick, not overloaded with features and has many plugins and nice themes.
Spacemacs (Emacs with Vim keybindings and some useful packages and nice UI). I use Atom for quick edits from time to time.
Brackets from adobe + jet brains ideas.
Lately, I have been using Visual Studio Code.
I use and highly recommend Codelobster.
It has a set of special features for Node.js development: codelobster.com/nodejs.html
Vim for the rescue. Probably trying neovim this year because it has is being growing and getting stable more and more.
VSCode for Go development and PyCharm for... python :)