Emacs for everything. If I start a using a new language I'll hand craft snippets, wire up with any linters or external completion engines and other tools.<p>If there is no good completion solution, then I'll cheat. Grep to the definition (or jump with tags), open it in a buffer and I can look at what is there. At that point the members are now available for "dumb" textual completion. I'll create helper function to do this.<p>Give me a few hours and I can match just about any IDE feature. The mechanical parts of the workflow are crazy fast and fluid.
I write a custom editor in the language that I need to edit in. But seriously, Emacs. I never have to work in languages that don't already have the leg work done in creating linters, syntax highlighting etc.
VisualStudio for any .net language, Jetbrains if they have an IDE for a specific language and for small projects or changes I'll use vim. The main impetus for switching editors/IDEs is when an editor has specific built-in support for a language that your text editor won't (ie support for solution files in .net). This extra functionality becomes much more important when you're less familiar with a language or when you have a large/complex codebase (1M+ LOC)
My procedure for selecting an editor starts by taking an online class and using whatever tool the expert is using. I figure their reasons for using said tool in a given stack is probably more reasonable than anything I can come up with in my comparatively limited experience. That said, it looks like this:<p>Visual Studio - C#<p>Notepad ++ - Any text file I need quick access to, cut/paste<p>Visual Studio Code - Trying it out to replace Notepad++<p>Android Studio - Native Android Apps<p>WebStorm - JavaScript and front end projects<p>IntelliJ IDEA - JAVA
Is it really worth switching editors between languages?<p>I do think they it could make things harder/easier. For example if I want to switch from C# (in Visual Studio) to any other editor - it feels like a less familiar experience (and will be less productive at first)<p>This not only effects writing code, but debugging methods as well.
Do people actually switch between editors for languages? I use Notepad++ for everything and just configure the indent spacing and highlighting per language.
vim for everything.<p>i add linters per language, and documentation lookup and autocompletion.<p>the only time i have a problem is with new projects where a file tree would be useful. there are vim file trees, but i dislike them.