Okay, this will be a really quick article. Up until just a few days ago, I was a VS Code lover like anyone else these days. I use to write a column of top VS Code Themes and Plugins every month in my monthly blog series "Ultra List" as well, but recently, I shifted back to Sublime Text.
Why? Let me tell you in this blog post.
Why? 🤔
So while we were working on a big old project, I observed something. Some of my teammates started complaining about their systems slowing down when working on that project. They complained about this often, and after a while, I just couldn't ignore the issue. So I decided to look into it, and I found out that the culprit was VS Code. When you work on big projects with lots of files, the folder structure starts looking like this.
The problem starts here: the more files you have and the bigger your project, the more resources VS Code will start to consume. The Search Indexing and File Watcher scripts start eating up your memory. Moreover, to work on such a project, you will open each file in a new tab, leading to multiple VS Code instances running simultaneously, and eventually, your CPU usage will start to look like this.
If you have 4GB RAM, like some of my teammates, you can't code efficiently on a big project like this. And I can't tell my teammates to upgrade their RAMs. So the better approach for me was shifting to my old mate Sublime Text, see if it could help reduce the memory load on our machines without sacrificing general efficiency and important VS Code features we've all come to rely on, and then help my teammates set it up correctly. I am pleased to report that this was a successful experiment and I'm gonna stick to Sublime Text now, at least for the foreseeable future.
Check out its memory usage for the same workspace.
How? 🤔
So if you think this is cool and could help your machine run lighter so you can code faster, stay with me and find out how you can achieve this too.
Once you install Sublime Text and Package Control, here is a list of plugins and themes that can help you to have the same experience you're used to on VS Code.
Plugins
1. GitGutter: It has everything that you need from a git plugin.
2. ColorSublime: It is possibly the best plugin out there for themes. This plugin can help preview a theme real-time, even if that theme is not installed on your Sublime Text at that time. 🤯
3. SublimeCodeIntel: Code completion like VS Code but way lighter.
4. SideBarEnhancements: Take your sidebar options to the next level with this plugin.
5. BracketHighlighter: Best Bracket Highlighter; matches a variety of brackets such as: [], (), {}, "", '', , and even custom brackets.
6. PlainTasks: An opinionated to-do-list plugin for Sublime Text (2 & 3) editor.
Themes
Now that you have the basics taken care of, it's time to personalize your setup. Check out these themes and give your Sublime Text a facelift.
Other Cool Stuff
If you want to explore further and see what more you could do with Sublime Text, go check out this AWESOME list. 📃
dreikanter / sublime-bookmarks
Sublime Text essential plugins and resources
Sublime Text is a cross-platform text and source code editor, with a Python application programming interface. Its functionality is extendable with plugins. Most of the extending packages have free-software licenses and are community-built and maintained. — Wikipedia
This tiny project follows GitHub community trend to aggregate the most essential bookmarks for specific subject in the form of a handy well-structured collection. Here you will find tutorials and learning materials for Sublime Text, general purpose extensions for coding and text editing, and specialized extensions grouped by usage profiles.
This list not supposed to include absolutely all Sublime Text plugins, due we already have Package Control for this. It is intended to be a starting point helping to setup working environment, or check out for new extensions to make your existing Sublime setup more awesome. You may find ★ here and there in the list. It stands for Editors'…
It contains everything from useful books and community resources to plugins for specific profiles like JS, Python, and Ruby that could make your life much easier. You can also find some cool icon packs and fonts in there to customize the look and feel of your Sublime Text further. 🎨
Conclusion
And that's it for this post; short and sweet, just like I promised. That's my journey back to Sublime Text, a code editor I used for years before switching to VS Code. I'm really happy to discover that it's still amazing, better than ever in fact, and has a thriving ecosystem and community. Since switching back to it, I've seen a huge improvement in the productivity of my team, especially when working on big codebases. We've seen reduction in task completion times by as much as 60%, according to reports in our product management tool, ClickUp, which is awesome by the way and definitely worth checking out. So if you've been feeling done with VS Code and its memory-hungry tendencies, or if you simply want a change, go try Sublime Text and see the results for yourself.
One More Thing
If you're looking for work, we're hiring fullstack developers (MERN) at Skynox Tech! You can apply on Angellist, LinkedIn, or via direct email to info@skynox.tech. 😀💯
Ooh, and lastly, if you're already a Sublime Text lover and long-time user, please share your own experience and cool plugins and themes that I might've missed.
Top comments (173)
I forget exactly what I needed to do to improve the performance, but while working in a large workspace I've often found the culprit is the file watcher service. You can add directories to exclude from intellisense, mainly node_modules and your build output directory. The only directory intellisense should care about is your source code. Doing so led to vscode becoming much more responsive. I might make a post about it once I've finished moving house...
Looks like somebody beat me to it! dev.to/vaidhyanathan93/ulitmate-vs... main sections to note are the files.watcherExclude, files.exclude and the search.exclude, this may require customisation based on your setup, but you could also do this per workspace. Another tip is to disable extensions you don't need per workspace.
There is problem with ubuntu regarding file watching with vscode, comparing to windows or mac. And excluded node_modules, but still I was forced to increase the limit in linux. I don't know, maybe causes some issues with cpu later...
That would be a great idea James 😊
That's a good idea. A post to look forward to. 😃
please make a post about it, I found out VSCode is best for my Angular projects but old processor makes it a hassle
Woho !! Things escalated real quick down there. Anyway, I agree with you completely Niels. But consider this a quick fix. Also few laptops were old enough that even upgrading ram couldn’t help (old processors). So, by adjusting in what they have and getting the best out of it, the short term solution can be shifting to lighter options but in long term buying a new laptop is a better option of course. 😊
My laptop from 7 (8?) years ago had 16GB of RAM. I'm not looking for a cookie or anything, but RAM should always be a priority for devs.
(Granted I was also doing 3D, but I think RAM should be a priority regardless. CPU and disk space are second class citizens.)
Sublime is my go to editor, never leaving it
plus VScode = electron = chrome = RAM Eating 😆
Exactly!!
Hey Bhupesh, Do you mind sharing some plugins, themes, and Tricks here.
Some of the plugins I use
Thanks man. JavaScript Completions is ❤️
It seems that JavaScript Completions has been replaced by JavaScriptEnhancements, being the former unmaintained nowadays
I'd also add AdvancedNewFile to the list and Material Theme package.
Here's my customised preferences incase you're interested:
Totally agree, I was feeling some perf issues on webstorm when i was running a VM.
The first thing I did was a RAM upgrade, now I run 16GB and it's smooth again.
I enjoy webstorm so much I don't know how I would do without it !
But it's still nice to know that getting SublimText can be a quick fix.
I am also a sublime text lover but it’s true that vscode is doing some stuffs far better than sublime. At the end I just use them both, sublime mostly for exploring code (read only) and vscode for a more intensive code editing (and pycharm for advanced stuffs :) ).
With the right extensions, I think Sublime Text can be pretty powerful. We've made sizeable, production-ready projects on it in the past. Of course, VS Code has some feature advantages over it, but still Sublime Text is pretty capable imo. 😄
Yeah that's another imperfect thing about Sublime: it doesn't work great out of the box. That being said installing extensions is quick and we just need to do that once.
The VS killer feature for me is the debug & breakpoints though, being able to inspect quickly and visually while debugging speeds up a lot the workflow IMO.
I am running into the same problem with my Surface laptop 2 with 8 GB of RAM and an i7 CPU, so it's not a third world problem as Niels was trying to state. Thanks for the article and for the response though! But have to tell, Niels is right, working professionally and do not have the basic tools seems to be contraproductive and ridiculous...
same here
8gb RAM, core i7, but the laptop is pretty old and I am not in liberty to purchase another one so a quick fix is something I'd love to switch to
I had the same issue when I was working on my React Native hobby project called Sudoku Mobile (shameless plug here).
My laptop almost became unusable and my battery was draining very quickly. I switched to Atom (another Electron based app :D) for the project and I didn't have this issue anymore, but I really missed VSCode.
Atom is also good. You may wanna share some resources for it ?
I don't really know about any good stuff for atom as I didn't use it much in the end. I went back to VSCode within a few days and tolerated the performance issues. Atom couldn't property comment JSX at the time (for me at least) and that made me switch back.
Sharing is fun. Here I go.
Plugins
AceJump: Allows you to move the cursor to any character to any place currently on screen.
Origami: Better split pane control.
FileManager: Manage your files without using the sidebar.
NeoVintageous: Vim emulation.
Requester: HTTP client for Sublime Text 3.
Themes
Night Owl: A port of Sarah Drasner's VScode theme. Includes both Dark and Light theme.
Rubber: Minimalist theme. A port Rubber theme for VScode.
Thank you! FileManager worked for me. Just enough options. Seems better than SidebarEnhancements which is just too much.
It's likely that buying another 4GB is cheaper than buying Sublime Text. I picked up a 2GB stick from my local CEX store the other day for £1. I do realise that's different depending where you live.
I'm planning to switch to github.com/cdr/code-server
I'm already using AWS Cloud9 for cloud development because everything on its EC2 is configured like the production environment and it works from all machines.
But I prefer the usability and extensions of VSCode, so I'm not too happy with C9.
Since MS is offering VSCode remote via Azure already I think it will get better in the future. Meaning, most of the "hard" things will be done on the server, allowing me to just provisioning a bigger machine if things get out of hand.
Let's see how this goes :)
I was planning to do that too. Do share your learnings.
Yes, please, K!
Some comments may only be visible to logged-in visitors. Sign in to view all comments.