DEV Community

Cover image for If you've recently switched code editors— How's it going so far?
Ben Halpern
Ben Halpern

Posted on

If you've recently switched code editors— How's it going so far?

Top comments (95)

Collapse
 
abraham profile image
Abraham Williams

I've used Atom for the last several years and had been mostly happy with it. Over Christmas I switched to VS Code though and I don't think I'll be looking back. Code is faster and has a noticeably less lag. One of the reasons I moved was seeing new packages coming out on Code and leaving Atom in the dust.

For a month of Flutter I used Android Studio and found it a bloated and complex. I've since switched Flutter development to Code as well.

Collapse
 
dfockler profile image
Dan Fockler

The Atom->VS Code keymappings really made VS Code stick for me. Usually when I get used to keymappings it's hard to get productive quickly with a new editor.

Collapse
 
dploeger profile image
Dennis Ploeger

I can totally relate. I'm usually a IntelliJ-fanboy, but the keymappings-template for vscode really let me feel like home in it.

Collapse
 
abraham profile image
Abraham Williams

I used to tweak and configure commands and settings but it was too much work so now I try to learn the defaults (unless it's something I really don't like).

Collapse
 
robertfish profile image
Robert Fish

People don't realise how bloated Android Studio is until you use a lighter editor like VS Code 😄

Collapse
 
philnash profile image
Phil Nash

Atom's speed (not it's extensibility, which I loved) put me off it and almost off of trying VS Code.

I'm glad I did though, over the last couple of years I gradually moved from Sublime Text to VS Code and I'm very happy now! Atom is but forgotten.

Collapse
 
anthrogan profile image
Anth Rogan

Honestly, the hardest part about getting moving in flutter development is getting the AVM going tbh... It's 2019 ffs!

Collapse
 
mkenzo_8 profile image
mkenzo_8

Hello Ben,

My case was that some weeks ago I started loving to code on my 4gb & 1.44Ghz laptop with no reason, I was used to use Visual Studio Code and Atom, but both of them are very laggy on my laptop so I started searching for a new editor and... I found Sublime Text!

It's the fastest code editor on the web!! No lags at scrolling or writing!
I felt in love since the first second I tried it!

Collapse
 
preetjdpdev profile image
Preet Parekh

Well Ram and Processor speed is not the issue , try upgrading to a ssd , it makes all the difference.

Collapse
 
mkenzo_8 profile image
mkenzo_8

It already has an SSD, but it's a tablet/laptop so it's not as fast as an SSD for PC.

Collapse
 
sduduzog profile image
Sdu

Did you buy the license? If not how are popups. I'm also stuck on a 4GB machine

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

I used Sublime Text for a long time. For a while with the popups and then after purchasing a license.

They are fairly unobtrusive honestly, and it's a great editor.

Thread Thread
 
sduduzog profile image
Sdu

I think by the time I can afford a license, I would have purchased a stronger machine 🤔 I'm still technically a student

Thread Thread
 
dhandspikerwade profile image
Devin Handspiker-Wade

If you are a student, JetBrains provides license for the whole suite for students.

jetbrains.com/student/

Thread Thread
 
wuyazero profile image
wuyazero

I don't think JetBrains products are suitable for 4G RAM machines, it feels laggy even on my i5 8250U 8G RAM 512G SSD laptop.

When I need to do some web development on my 4G RAM Surface Laptop, I use Brackets which is quite feature-rich out-of-the-box for web development and has a far smaller memory footprint than VSC and Atom (not to mention those JetBrains offerings), although the responsiveness is only on par with VSC.

If I need to do some more general code editing quickly with the low-spec Surface Laptop (which is rare), I use the Caret Chrome App. Although Google officially stopped supporting the Chrome Apps on platforms other than Chrome OS, they can still be installed and used cross-platform with their direct download links in the Chrome Web Store. As I need to use Chrome to browse the web anyway, using Caret means it takes next to nil extra resource.

Collapse
 
Sloan, the sloth mascot
Comment deleted
 
rhymes profile image
rhymes

Hi Mkenzo, I wouldn't share cheat/crack codes on a public website populated by developers who probably earn money from apps like that one.

;-)

Thread Thread
 
sloan profile image
Sloan the DEV Moderator

As @rhymes mentioned, please don't share license codes for a product meant to be paid for.

Thread Thread
 
mkenzo_8 profile image
mkenzo_8

I am so sorry. I am new at this platform. I don't have enough experience. Won't happen another time.🙏

Thread Thread
 
rhymes profile image
rhymes • Edited

Don't worry, welcome to devto!

Thread Thread
 
sduduzog profile image
Sdu

Hi @Mkenzo thanks for the heads up. I actually laughed when I saw the notifications and that there's a deleted comment. Don't beat yourself up just yet, although I will advise you to work on your dev ethic, or something like that, im not sure. The more you interact in dev communities, the more you'll understand.

Collapse
 
vonheikemen profile image
Heiker • Edited

Okay Ben, but I'm gonna tell you the whole story.

I started learning Vim in october because apparently I had nothing better to do. It started out like a nice hobby, every few days I would open up a file, tried to move things around, delete stuff, learn a new command or something and it was nice until I said "Guess it's time to make my own vimrc". Oh boy. It turns out that it was way more entertaining than I was expecting.

The plugin hunting didn't last very long. I found a post about Vim that had a phrase that stuck with me "let sublime be sublime, let Vim be Vim", that was enough to convince me to not try and make Vim behave like Sublime text. But there was still one thing I wanted and that was a good fuzzy finder, and my friend google had the answer for that, fzf. FZF it's best thing ever, it's the only plugin that I would consider essential (even though Vim has a search feature already).

The real time sink was the keymap. It was so dificult to "get it right". I spent an afternoon (on a week day) browsing in github repositories looking for vimrc configs. I'm really happy with the "final result".

The next stage of the journey was trying to find a way of using Vim outside of a terminal. I tried a few Neovim frontends and other editors emulation. In the Neovim GUI department I gotta say that I really liked Onivim and nvim-gtk.

  • What I liked about Onivim was the integration with language servers, it enables features like goto definition and autocomplete like in VSCode. It consumes like half of the resources that VSCode requires it is still an electron app that takes quite a bit of RAM.

  • Nvim-gtk is my favorite way of using Neovim, is basically like a terminal except that it provides a few widgets that I appreciate like a file explorer, "real tabs" with a closing button, a plugin manager menu and other stuff. It's written in Rust so is cross-platform, and fast. The only thing that is a bit annoying is the fact that I can't make the cursor stop blinking.

And so now that I have a Vim setup that makes me happy I've decided to go back to Sublime text and see if can get some of that modal editing that I liked about Vim. So far I have tried the NeoVintageous plugin (If anyone wants to learn vim but don't want to use it yet that plugin is a good place to start). I have to say that is a good vim mode, but I stopped using it because it was missing some features and a few others do not behave like I would expect, is like that off by one error that you just can't fix.

Since modal editing is still posible within Sublime text I'm making my own keymap settings (I keep them here) in the form of a package so I can disable everything when I don't need it. The keymap is inspired by Vim but instead of trying to be exactly like Vim I remap Sublime's built-in commands to get a more consistent behavior. I don't get the composable commands that Vim has but I still get a little bit of the modal editing that I wanted.

Collapse
 
vinceramces profile image
Vince Ramces Oliveros

Since I've got 12GB of RAM. I'll be sticking to Vscode/IntelliJ IDEA. I'm a dartisan/flutterian guy so I've got Vscode as my code editor for now.

But I would prefer sublime text for low RAM usage and non-electron apps. Haven't tried emacs or vim.

Collapse
 
jaakidup profile image
Jaaki

Yes, the flutter with emulators is rather heavy. I heard they are working on a more native emulator, which will be much faster and lower mems.

My (current) 8 year old machine with 6GB is just not enough for flutter.

That said, vscode is much lighter on resources than IntelliJ though.

Collapse
 
vinceramces profile image
Vince Ramces Oliveros • Edited

You can use any editor for dart, using sublime text as code editor and a terminal/command line as you launch the app. But you don't get the debugger inside of the sublime text, therefore only vscode and intellij idea are the only options available.

I dont think vscode is lighter than intellij idea as it would increase the ram usage overtime. From 700mb~6GB when idle(no emulator).

Thread Thread
 
jaakidup profile image
Jaaki

Oh really, I might just give IntelliJ another go.

I must say that I've never experienced the memory creep whilst coding go, python, vue and polymer.
Perhaps there is an issue with the dart/flutter plugins?

Once I'm more familiar with dart and flutter, I might go to sublime.

Thread Thread
 
vinceramces profile image
Vince Ramces Oliveros

They're both heavy RAM usage. it's not about the electron, it's the OpenJDK Library that keeps the RAM growing. the DartVM is only 150~200mb while the flutter plugins is just 30mb~ less.

Collapse
 
panta82 profile image
panta82

I am a JetBrains guy, but I use vscode and sublime for lightweight text editing.

I am currently playing with clojure and have decided to give vscode a chance as my main editor (mostly due to IDEA clojure plugin being pretty crappy IMO). I am not too thrilled. That editor feels just as slugish as JetBrains IDE-s, but doesn't offer nearly as much functionality.

Collapse
 
joshyoerger profile image
Josh Yoerger

Have you tried Cursive with IntelliJ? cursive-ide.com

Emacs + Doom + Cider is also a very powerful environment - albeit a fairly steep learning curve.

Collapse
 
panta82 profile image
panta82

Cursive is the one I didn't like. Maybe I missed something, but I found it almost impossible to actually type my code due to its super-strict and kind of broken pair matching engine.

Collapse
 
aspittel profile image
Ali Spittel

I've used VSCode for ~2 years or so, but before that I jumped around from:

IDLE -> emacs -> Sublime -> Atom -> Sublime

I love VSCode though, so much faster than other Electron-based editors and so full featured!

Collapse
 
iamschulz profile image
Daniel Schulz

Honestly, I don't understand the hype about switching IDEs. I've been on PHPStorm since I started web development professionally and used sublime for small scale projects before.
I tried VSCode occasionally, but found myself always switching back. All those features that Atom and VSCode list as hot new features have been in PHPStorm for years. I also tend to miss the double shift feature in other IDEs. Since Jetbrains provides free licences for open source projects, I can't find a reason to switch.
I still use sublime as a simple, fast text editor on the side, though.

Collapse
 
vignesh0025 profile image
Vignesh D

PHPStorm is a full fledged IDE whereas VSCode is just an editor. You can't compare a full fledged IDE with code editor.

Collapse
 
david_j_eddy profile image
David J Eddy

Agreed Vignesh D. Where is the line between an IDE and a text editor for you? I struggled with this question during a conversation recently.

Thread Thread
 
vignesh0025 profile image
Vignesh D

In an IDE,

  • IDE always focuses one Particular Framework/ Platform (For eg. You cannot work on Ruby on rails project in PhpStorm)
  • IDE contains most features already build in for that platform.
  • IDE always contains a single project file that lists the project code files and related actions

In a Code Editor,

  • Code editor doesn't focus on any specific Platform or framework. Code Editor can work across all frameworks (For Eg. VSCode can be used with Assembly programs that runs in Arm and also HTML Code that runs in a browser)
  • Code editor is bare bone and contains minimal features like syntax highlighting out of the box. Most Features are provided via plugin. Users, depending on the technology they work, should install necessary plugins
  • Code editor doesn't have a central project file as such (This feature is available via an extension anyway)
Collapse
 
milkstarz profile image
malik

I've recently started using Intellij IDEA for Scala development, and it's quite nice. The RAM usage is really high but it has a lot of handly plugins for Scala making it a must have for me.

I still use VS Code for almost everything else :D

Collapse
 
kelly profile image
Kelly Vaughn

It's recent in terms of how long I've been coding... but my project last year was to switch from Sublime to VS Code. I guess that means I've officially been using VS Code for a year now. I couldn't be happier with it. I basically carried over the keyboard shortcuts from Sublime so I didn't have to learn anything new. It's prettier (IMPORTANT THINGS), the Git integration is 💯, and it has everything I need to successfully do my work!

Collapse
 
meloncatty profile image
Krista Handel • Edited

Last year I worked with:
Atom -> VSCode -> Atom -> vim

No reason for me to switch back to Atom at one point other than my weird resistance to downloading VSCode on my Mac. VSCode is my favorite text editor and I love the built-in terminal. Atom is slow. vim has the potential to make me a little faster, which isn't correlated to being a better programmer, I just enjoy the speed and proficiency. I have some plugins, like a fuzzy finder and a cute terminal, but I still don't know what I truly need of vim quite yet. vim is already neat so I can't imagine dozens of plugins being necessary. Definitely creeping on plugins posted here.
Nice topic, Ben!

EDIT: Guess I should also mention that my switch to vim is going well so far 🔥

Collapse
 
logicmason profile image
Mark

I love the integrated terminal, too. Are you using wim via the vscode plugin or have you jettisoned vscode completely?

I use the plugin and have vim mode enabled a lot, but I often disable it for certain kinds of tasks. It's gotten to the point where vscode is the only terminal I use and it's where I do all my markdown editing, etc...

Collapse
 
meloncatty profile image
Krista Handel

I use vim via the vscode plugin when I'm on my desktop, which is Windows. To be honest, I don't really get the same experience with vim in vscode like I do on my Mac with just vim. But I haven't messed around with the plugin much. Still prefer iterm2/ohmyzsh, but vscode is, like you said, better for certain tasks.

Collapse
 
vishnuharidas profile image
Vishnu Haridas • Edited

Actually I use different editors based on the requirement.

IntelliJ IDEA or Android Studio on my daily job. They are feature-rich editors that eats a lot of RAM, but it's all worth it.

VS Code, for lightweight editing, like web projects, Flutter, editing large debug logs, or just browsing around huge Android project files without opening in the heavyweight IntelliJ/Android Studio.

Nano, if I am over a terminal connection. This is my preference over the Vi(m) editor.

Extra: Sometimes I use VS Code only to use the REST Client plugin because of the flexibility that the plugin provides.

Collapse
 
melezhik profile image
Alexey Melezhik • Edited

Sorry for a slight off topic , but nano is forever. I have tried so many editors ( vscode,visual studio, sublime, atom, vim ), but nano is the killer. Dead efficient. Still not clear why people love ide? ((((;

Collapse
 
doooby profile image
Ondřej Želazko

is it a real question? fulltext/regexp search through source directory and dependencies, integrated version control (highlighted edited lines, browsing history for each line/change), one-click go-to definitions, syntax highlighting, etc.

Collapse
 
melezhik profile image
Alexey Melezhik

Well. It was not a question, just a statement. Don't want to start flame here, (: But for those things you've mentioned
git cli / grep / perl / diff / tomtit works perfectly for me . I would say with even better level of effectiveness in comparison with IDE-like tools

Thread Thread
 
doooby profile image
Ondřej Želazko

then there's not much to add. neither I want to argue about others' workflow.. but it seems to me that you're missing the point: "integrated" environment. your workflow is a based on UNIX philosophy, but not every programmer works on unix-based OS. not everybody needs to know well bash, perl, sed, etc. and lastly, there are reasons why mouse & GUI were invented: visualisation of information. it just depends on what sort of work you do.

Thread Thread
 
melezhik profile image
Alexey Melezhik

I am doing quite well with every task requires me to write code, because it's just a text. Linux tools work perfectly with text/source code. I don't need IDE to make text search and replacement. An "integration" toolkit is almost pre-installed on every Linux box, if it is not, it's just a few commands of package manager to add desired tools.

Collapse
 
bgord profile image
Bartosz Gordon

I switched from VSCode to VIM, and I'm glad I went this way.

I had some familiarity with the "language" of VIM, but it was on the very basic level. All of it started after I installed a VIM plugin for VSCode. Of course, in the beginning, it was hard, but after about a week, I became as efficient as with the "vanilla" VSCode.

After another week, my speed of editing has noticeably increased. I liked it, and I felt like it was the time to build my own .vimrc.
It took me about a week to set up the config that kind of matched my needs.

After two weeks, I realized that I've installed too many plugins, and I wasn't utilizing VIM's built-in features enough. The decision was made, I'm going to rebuild my config from scratch. I tried to adopt a problem-solving mindset, every time I bumped into some rough edge, I tried to solve this problem with a vanilla VIM features, only after that, I was reaching for a plugin.

These work for me the best:

  • fzf (multi-use fuzzy finder for file/tag/phrase search)
  • vim-ranger (a terminal file explorer/manager, I use it outside vim also)
  • goyo.vim (distraction-free writing mode, I use it mostly for prose)
  • vim-commentary (you don't need to know comment convention for all the filetypes)
  • vim-surround (change/add/delete common surroundings - quotes/tags/parenthesis)
  • ALE (Asynchronuous Linting Engine, I use it to run ESLint)
  • YouCompleteMe (a great autocompletion engine)
  • emmet-vim (write HTML/CSS like a wizard)
  • vim-import-js (auto-import a JS variable)
  • ctags (it scans your project and extracts the tags - significant variable names) and a few JS/TS specific plugins.

My productivity and speed of editing have increased. It's worth mentioning that tweaking the .vimrc was a ton of fun for me. Almost every day is a source of new tricks. In addition to VIM, I use tmux as a terminal multiplexer, so all of my development takes place in one terminal window.

Collapse
 
vinibrsl profile image
Vinicius Brasil • Edited

Sublime Text > VS Code > TextMate > Vim > VS Code

From Sublime Text to Visual Studio Code

Sublime Text is a great editor, and, to be honest, I've never seen a GUI code editor opening so fast as Sublime Text. The only thing I missed in Sublime Text was a better language support, including linting, code completion and etc. That is why I switched to Visual Studio Code.

From Visual Studio Code to TextMate

VS Code is great. The UI, the editing features, the extensions and its frequent updates. By the way, it is, IMHO, the best code editor for JavaScript and its children (TypeScript, Dart, etc).

As a Ruby developer, there is a lot of things I miss in VS Code. After all these code editor switches I've learned this is not a editor problem, but a language one. Ruby is kinda hard to auto complete, because of its characteristics, compared to Java or C#, for instance.

I had a great experience with TextMate. It has a lot of macros and other kinds of tooling that really helps developers. Also, it's very famous among Ruby devs. The only problem with it is that it is not updated very often. There are some really old tools & scripts from Rails 3-4 that just don't work anymore.

From TextMate to Vim

I really liked the idea of macros and automation inside the code editor, and Vim offered me that. The learning curve took me ~3-4 weeks, but that worth it.

Vim is great, but it has to be fine-tuned to work in its best. So, I went back to VS Code.

From Vim to VS Code

My final review is that VS Code is really great. One of the things that I really like in it is the VS Code Live Share extension, perfect for pair programming (I've used Atom similar feature and it was really bad back then).

Collapse
 
josef profile image
Josef Aidt

This really resonated with me as I have a similar story. Notepad++ and Nano in the early days at school until I found Sublime Text. Sublime is great, like really great. It's so fast. To this day I still use Sublime for quick editing here and there if I don't want to have a whole extra VSC instance running for a directory full of bash scripts or something.

Then I came across vim. I didn't have the patience to sit down and grind out that learning curve as you were so brave to do, but I still use it. Honestly it's the easiest way to quickly edit a file, whether it's a simple SSH config, another bash script, or for some quick notes. Not having to leave your terminal in some operations is a nice QOL boost. But wow it can be daunting.

Now VSCode. I can't possible explain how nice this is, and maybe it's because of the wonderful web dev support Microsoft has been adding over the year. I was on Atom for a very brief period until the startup time became well over a minute and that editor would chug opening and working with large files. Maybe that's gotten better, but I have no want to move back. VSCode is fantastic.

Collapse
 
jsrn profile image
James

I swapped from RubyMine to VSCode in the last few months. I'm not entirely thrilled with the change, as RubyMine had more powerful code inspection, was better at jumping to method definitions, etc. However, there were other things I wanted to do with the money that I would have spent on the IDE.

I do have a fallback license for RubyMine 2017.2.5 that I would be more than happy to keep using, but we use WSL at work, support for which only made it into RubyMine in version 2017.3.

So close, yet so far.

If anyone uses VSCode for Ruby on Rails and has any hot tips about getting the code inspection to run smoothly, I'd love to chat!