Sublime Forum

Sublime Text versus Visual Studio Code in 2019

#1

I am replying @cruzd in a new topic because things got messy and I may be wrote a little too much. So far, after a few years using several tools, I just never had found any tool which could adequate better for my customizations/improvements other than Sublime Text. But nowadays, I think Sublime Text reign/empire may be threatened by Visual Studio Code.

For starting, use https://github.com/SublimeText/sublime_lib to interact with Sublime Text API, because it should improve accessing the Sublime Text API interface (may be even with bug fixes). Other than that, the following packages should be very helpful:



I would say this full text would only apply for few developers. Most developers, i.e., non-aggressive developers just would like to:

  1. Install some tool, whether it is expensive or not.
  2. By any means, just do the task/job their boss is asking/requiring from them.
  3. And go home for their families, or may be to same pub or beach?

While other few developers would be more aggressive and instead of just do whatever their boss is asking them to, they also would like to:

  1. Not just install any tool, but only the best of the best.
  2. Efficiently do whatever task/job their boss is asking/requiring from them.
  3. And go home for their families?

If you are more a non-aggressive developer, usually you can just use the IDE you boss says so, or just toss a coin and chooser either Sublime Text or Visual Studio Code. May be even Visual Studio Professional, any JetBrains IDE, Eclipse IDE, NetBeans IDE and who knows, Notepad++, Atom Editor or Komodo Editor.

If you are more an aggressive developer, you would have to choose more precisely between Sublime Text and Visual Studio Code. A few years ago, the only and most Hackable Text Editor, was solemnly Sublime Text. Nowadays, there is also Visual Studio Code which may be (a big MAY BE) an alternative for Sublime Text. Indeed, for a more aggressive developer, Sublime Text and Visual Studio Code are not the only and enough options because they yet still failing/lacking support for several useful and advanced features. Then, instead of only using either Sublime Text or Visual Studio Code, they would also have to use some other or several specialized IDEs for the language they are working. Probably, using several editors at the same time.

In 2019, I would advise to not just focus all of your time into Sublime Text, but also develop for Visual Studio Code at the same time. And when you get more familiar, after experimenting with both, focus a little more of your time into the one you feel more comfortable with (it is always the best to have a Plan B). Sublime Text excels Visual Studio Code in several features, however, Visual Studio Code also excels Sublime Text in several other features and they both draw/tie in countless others. The main difference is that, you can change Visual Studio Code core, while Sublime Text core is a C++ closed source and there is nothing your can do to change it or fix it other than beg for their mercy.

Sublime Text End Users usually do not see any problem/bug with Sublime Text, but if you are heavily developing for Sublime Text and using its API, Sublime Text Core is very full of bugs/troubles/nightmares. Give a look into the community maintained issue tracker:

I would call the experience of developing packages/plugins/extensions for Sublime Text as horrible, because most things you expect to work right out of the box, do not work, and you have to very thoroughly test and create or search really hard for some kind of hack or workaround. But, only if you are lucky enough and there is a workaround or hack. Otherwise, the bug is directly into the C++ code of Sublime Text and there is nothing you can do about it, other than report the bug and wait for several years in hope that someday, they will may be consider fixing the problem (instead of adding more new features). Other times, they could say fixing the problem will break backward compatibility (or current behavior? Bugged behavior!) and they will not fix it. So, you will never be able to do whatever you would like to. While using Visual Studio Code, you can just say "-Screw you!", and fix the damn thing by yourself (if you have enough free time, of course).

Nowadays, this is why I would advise to use something else other than Sublime Text. I already spent years developing for it and after so much experience, I will probably keep developing for it, but only nowadays I have been realizing these problems. Few years ago, when I started, I would indeed advise to use solemnly Sublime Text because there was no Visual Studio Code as we know today and Sublime Text would be by far the best of them all. Today, I will start trying to employ less and less time into Sublime Text and move my efforts to Visual Studio Code. Some day, I may completely stop developing for Sublime Text. However, the completely opposite may also be true. Visual Studio Code could be more troublesome/bugged than Sublime Text, and even today, Sublime Text still the best of them all.

For an old user perspective, I would definitely like Sublime Text fixing its old bugs before adding new features. I would call unacceptable adding new features, while there are bugs reports open and not yet fixed. But, keeping in mind that, for a Sublime Text perspective, it is more useful to add new features/products (sublimemerge) and attract new users (buying licenses) instead of fixing bugs and helping old users (which already bought the license). So, I would not expect they fixing much bugs unless new users are also directly affected and complain about these bugs (otherwise, new users do not buy new licenses).

If Sublime Text did not kept adding new features (attracting new users) they would probably not have enough money to pay their bills, because the old users (which would like the bugs fixed) already paid the license, so, fixing bugs which old users complain, do not help Sublime Text with money. While adding new features, attract new users, which do not know or are not yet annoyed enough by Sublime Text deep bugs. Then, these new users end up buying new Sublime Text licenses. Or may be, they are just running away from Visual Studio Code, because it is much more bugged than Sublime Text? (and they do not have the time to fix that damn thing)

Personally, I would like to keep using Sublime Text for ever because it is fast, low on memory usage and have good packages/plugins/extensions, but recently I am growing really tired of old bugs which seem to be never fixed, while new features and products still being added. Please, do Crash/Core/API bug fixes before adding new features!

More ranting:

This is one of the things in Sublime Text which really gives me inspiration to abandon Sublime Text and use Visual Studio Code:

  1. Crashes like https://github.com/SublimeTextIssues/Core/issues/2519 which is recently happening on development builds
  2. Annoying bugs like this: https://github.com/SublimeTextIssues/Core/issues/819

I did not moved yet because Visual Studio Code has bugs I consider bigger problems than the Sublime Text ones (like https://github.com/Microsoft/vscode-textmate/issues/52 TextMate scope selectors: scope exclusion is not implemented).

And other minor annoying issues:

  1. https://github.com/Microsoft/vscode/issues/30797 Show tooltip bellow the mouse cursor, instead of above it
  2. https://github.com/Microsoft/vscode/issues/30793 Add border options to selectionBackground
  3. https://github.com/Microsoft/vscode/issues/30794 Consolas font rendered narrower than Sublime Text one
  4. And probably much more others I did not find out yet.

I just used Visual Studio Code for about a week and tons of issues/things to fix showed up. Then, moving from Sublime Text to Visual Studio Code would be a very big/hard task, because there will be a lot of things to fix. But as Visual Studio Code is open source, someday I may actually get the time to fix them. I am just not sure how may years would take from me, in order to do it.

If the resolution for this issue (https://github.com/SublimeTextIssues/Core/issues/819) is won’t fix, or Sublime Text keeps crashing, I will definitely have to start moving out from Sublime Text. I will not completely stop using Sublime Text because there are some things I believe Visual Studio Code will never be able to do like:

  1. Open a file with 5GB of size. However, it is not every day I do that, and it would be fine just to use Sublime Text for that.
  2. How much RAM it will use? May be Visual Studio Code use so much RAM for a few views/windows opened, that I cannot use it, i.e., makes it unusable.

Moving or not away from Sublime Text, is a question I recently started asking more often. And it usually stops at "-There is probably more stuff to fix on Visual Studio Code other than Sublime Text". But, currently my balance whether I should or not go for Visual Studio Code could be more or less shaped like this picture:

These bigger black rocks would be Visual Studio Code bugs, and these white rocks would be Sublime Text bugs. Right now, I cannot move from Sublime Text because I definitely do not have the time to deal with these big problems from Visual Studio Code (unless some new version Sublime Text starts heavily crashing, or the current version keeps occasionally crashing and no fixes ever come up). May be six months or a year from now, I will have the time to deal with Visual Studio Code problems, and I will be able to move away from Sublime Text unfixable bugs (on its core features like this issue https://github.com/SublimeTextIssues/Core/issues/819 and crashes/segmentation faults).

I say these things like fixing these bugs on Visual Studio Code would be definitely the happiest thing in the world, but if you pay attention to the picture just above, you will notice several big black rocks (Visual Studio Code rocks) just hidden under the surface. These would be the bugs from Visual Studio Code I do not know yet because I only used it for about a week long. All white rocks (Sublime Text rocks) are over the surface because I know all of them, as I have been heavily and daily using Sublime Text for years.

May be after a year using Visual Studio Code, it shows up new big bugs as these ones in Sublime Text, i.e., crashes/segmentation faults or extremely time consuming bug fixes, which if are not fixed, makes Visual Studio Code unusable. Also, I cannot forget about the greatest packages ever created for Sublime Text. Right now I got 230 third-part packages installed on my Sublime Text. And probably there will not be an equivalent version available for all of them on Visual Studio Code, which would probably be an enormously time-consuming task to reimplement all of them over there.

I just hope Sublime Text fix this bug (https://github.com/SublimeTextIssues/Core/issues/819), whether on the version 3.2 or 3.3, but also stop occasionally crashing, because it is also very annoying using an editor you cannot trust to save your stuff, because it can crash at any moment and make you lose your work.


@RiverLeaf and @Acecool something to add?

After searching a little on this forum, I found the following discussions as most related:




Other minor discussions:







8 Likes

How to add Python Modules to Sublime Text 3
What's the vision for Sublime Text?
Problem with xpos
#2

@addons_zz, your response was very informative. Looking at your history, it is clear that you’re an active and valuable member of this forum and that you really want to stay loyal to ST if you can. I always appreciate when someone takes the risk of communicating openly about difficult topics so, thanks for that.

I’ve been using Sublime Text for years in the Drupal realm and decided recently ( due to new business opportunities ) to go all in on filling in some professional gaps. I’ve coded some in the usual web languages but primarily stayed within PHP, CSS, JS, Html and some Bash for automation. By no means am I a super aggressive coder. That being said, what was attractive to me about ST was the same thing that I liked about Drupal which was that I could start with a base and add functionality that was inspired and developed by users who were solving real world use cases. That, and I could add just the functionality I needed and not have to deal with an over bloated monolith.

Although I’m experienced with using Sublime, it never really required me to go any deeper than to occasionally look for and install plugins as needed. I have to say, now that I’m peeling back the layers, this is where it has proven to be less productive than I hoped. With Drupal and other open source projects the idea is to place a significant amount of time and resources to onboard new contributors making it easier and faster to get up to speed. That is not a suggestion to make ST open source, I’m just saying that It has been a challenge to find comprehensive instruction to creating, modifying or extending modules. I thought that using ST would be a good start by both ( leveling up my python skills ) and ( learning to customize some functionality ) at the same time. However, the rabbit hole is getting deeper and you are right and I need to evaluate my options… red or blue pill.

I’m a license holder and will always have ST installed. It truly is a good tool that I’ve enjoyed using and have encouraged other to use. So, I’m not abandoning it just yet. Although, I will be considering the issues more.

2 Likes

#3

I guess i’m not an aggressive developer because i only make websites (just php, html, css, sometimes fw like symfony or laravel) but i wanna say couple words if i can.

Big respect for ST authors. Basically ST3 is very fast. This is important especially if your computer (like mine) is not a speed monster. Additionally i love this functionality concept with ctrl+shift+p. All this work is fast.

It is not a problem for me if every function is not “out the box” but: everything should be BALANCED (in common sense).
We can install many plugins, but what if after a few months they are not further developed, and then they stop working

Look at the note from the author Material Theme about VS CODE:
https://github.com/equinusocio/material-theme#deprecation-note .
I mean about terminal, git, debug

Situation from yesterday - i tried to use xdebug for ST3. We have on packagecontrol only one old plugin and to be honest i dont know what is wrong, but its not working. So… from where i should to know where the problem is, if I do not even know if this plugin is still functional? That’s the point

I know, ST its not a IDE, but really, we have 2019 now and a few functions should be in the program itself.

Like i said at the begining, i have a big respect for ST authors, and really love ST which is no doubt the fastest editor, but i think authors shoud be think about diffrent development road (especially if the program is to be paid)

Sorry for my english and best regards from Poland

1 Like

#4

Well I don’t know I suppose. I’m in a weird category because I’m a developer in a strange little land of firmware that isn’t frequented by many. What I’ve managed to do with ST suits me fine – sort of an Emacs for the modern age (OdatNurd’s comment on Discord). I’ve looked into VSCode and while the Language Server Protocol (LSP) thing is a neat concept, it’s maybe too unapproachable for my own self. I was able to hack pretty sophisticated functionality into ST because Python is… well… Python. Very approachable, very powerful.

I did actually install VS Code on a new machine because it sort of came along for the ride when I was putting in the Anaconda Python distribution and I thought maybe it’d be interesting to see it. I fired it up and immediately had no idea what to do with it. None of my carefully crafted tools would be there. It would be substandard for development because few care as much about niche languages.

So I don’t see any real reason to move away from Sublime. It’s got everything I need right where I want it. It’d take me quite awhile to get another tool to suit.

1 Like

#5

I think I will stay ever with ST unless there is a good enough editor which doesn’t use JS. JS is powerful, it’s just not my cup of tea.

12 Likes

#6

You mean Java, yes? That’s true - editors which based on Java are heavy and so slow for me and works like :elephant: (with all respect for elephants :grin: )

By the way @randy3k you are one of couple reasons why i still use ST :slight_smile: . I mean Terminus which one works great on Windows. Thank you for that! :purple_heart:

4 Likes

#7

Thank you. I meant JavaScript by the way.

4 Likes

#8

Plugins are a very part of the sublime text eco system. I have installed a dozen plugins myself. I have noticed that most plugin I installed have not been updated for more than half of year. I think it is not a good signal.

2 Likes

#9

Ahh the ol’ frequent updates stigma.

An old timestamp usually means “abandoned” or “no longer compatible”, but on some occasions it just means nothing has had to change yet for it to keep doing what it needs to do. That’s why I think a public piece of software should get a sub-minor version step every 6 months just to say

I’m still alive, I still remember that I made this thing, I still consider it relevant and useful and I have not added any shiny new features since the previous version.

3 Likes

#10

Yes, keeping plugins up to date is important. For old packages, we do not know if it can still work with the latest version of sublime text. I think an active plugin system will also draw more potential users.

1 Like

#11

I don’t get this. Why does a plugin need constant updates? What happens if it is feature complete? Yeah, some plugins do fall behind a bit. Some of mine don’t need updates, and probably won’t for a long time. Some of mine could use some love, but I have a life, and kids, and other projects on top of plugin X, and no funding for any of my projects, so I get to them when I can.

11 Likes

#12

I think all users have a much respect for plugin developers, especially if they doing this in private free time

The problem is not the lack of frequent updates.
If everything works and does not need any update, everything it’s ok.

The problem begin when:

  • documentation is incomplete or outdated, what often mislead users
  • we are not able to determine whether the plugin still works, or just we made mistakes in the configuration
    ( I’m exactly in this situation with Xdebug plugin )
1 Like

#13

I know there was recent outage and from that @wbond wrote

Maybe a new focus on how the package system can be revamped during the process of moving it to “a more modern approach”, could resolve a lot of these issues… some of which I think are wrongly attributed to ST.

By the “package system” I mean from the community collaboration perspective not how it works.

1 Like

#14

Just crashed once again: (Sublime Text build 3184) core dump: d13e37d0-bad0-43f0-aade-9f5d27d34768.zip

I should revert to build 3176 and wait until they fix build 3184?

Searching on VSCode Issue tracker, we can also see crash reports: https://github.com/Microsoft/vscode/issues?utf8=✓&q=is%3Aissue+is%3Aopen+crash+

0 Likes

#15

Well, there are stable and development branches for a reason. Unless this was meant to be a release candidate, I’d say the software tipping over is probably not wholly unexpected?

6 Likes

#16

well I think ST does pretty well in comparison with other editors, in addition to being one of the fastest (or fastest ?), having a nice and clean interface, and being very customizable … recent additions to the plugin ecosystem (e.g LSP which adds IDE-like features similar to VS Code, Terminus which integrates a cross-platform terminal into ST (similar to VS Code), others are yet to be added to Package Control such as sublime_db that will add an integrated debugger which VS Code is famous by), provides a boost to the productivity of ST.
so overall ST may go head to head with VS Code in terms of features and it’s even better in terms of performance and elegance.

2 Likes

#17

A bit offtopic:

The main difference being that on VSC you just hit that install button and you’re kind of done.

On ST is a real adventure that implies a lot of fiddling around and if you’re both lucky and skilled, you might make it work.

1 Like

#18

yes, I was going to add this exact note, I guess VSC is accessible to a wider variety of users than ST. ST demands patience and a lot of work, but it can do better if it made configurations a little easier.

2 Likes

#19

Well, what some fail to understand is that they compare apples with eggs. You have a text editor and you have an IDE (JetBrains, VS Code and such).

They are completely different beasts, but some users expect the same functionality from both. I don’t expect such, the LPS thingy was just an example.

1 Like

#20

Definitely Visual Studio Professional (or Community) are an IDE, but I do not think VSCode is an IDE. It may be sounding like an IDE through its extensions additions, but the same would apply for Sublime Text.

Comparing both wiki pages, for Sublime Text and VSCode, they both state they are the some thing:

  1. Visual Studio Code is a source code editor https://en.wikipedia.org/wiki/Visual_Studio_Code
  2. Sublime Text is a proprietary cross-platform source code editor https://en.wikipedia.org/wiki/Sublime_Text
  3. Microsoft Visual Studio is an integrated development environment (IDE) https://en.wikipedia.org/wiki/Microsoft_Visual_Studio
0 Likes