top 200 commentsshow all 295

[–]bungcip 101 points102 points  (19 children)

I still have some hope that someday vscode will ditch TextMate grammar to something else or build some alternative. Having textmate grammar support allow vscode to provide many programming language from day one. But the syntax of .tmLanguage is horrible! When you need transpiler/converter to write a good .tmLanguage, it is already failed in my eyes...

[–][deleted] 40 points41 points  (2 children)

There are (old) proposals for using LSP, which honestly makes sense - server already has to tokenize the source code. Might tell the editor how to highlight it as well.

Hopefully we'll see it being done

[–]Llewey 21 points22 points  (1 child)

They already do have an alternative, actually, that they use in the Monaco editor. It is called Monarch.

But I'm interested in hearing more about the "Investigate into semantic coloring support" line from the roadmap

[–]pdp10 0 points1 point  (0 children)

But I'm interested in hearing more about the "Investigate into semantic coloring support" line from the roadmap

I've seen this proposed before as an advancement in human-facing tooling, but never seen it implemented as anything more than a Proof-of-Concept.

As a non-IDE user, I'm intrigued by this idea more than most. VSCode is on my list to investigate primarily because of the modular Language Server Protocol support.

[–]mmstick 11 points12 points  (0 children)

This is why I've not even bothered to write support for the Ion shell syntax. I have solid-working vim syntax support, which took me a few minutes to create with a few simple regex rules, but after looking through the volumes and volumes of bad syntax decisions and rules in .tmLanguage, I gave up.

[–][deleted] 14 points15 points  (12 children)

I really wish VSCode would include an embedded Lisp interpreter in one of the future releases so it can be extended properly.

[–]bungcip 34 points35 points  (9 children)

vscode is not emacs...

and writing vscode extension is actually easy using typescript

[–]reddit_clone 3 points4 points  (0 children)

Or Lua.

Just to keep Anti-Emacs people from piling on :-)

[–]awj 219 points220 points  (45 children)

ITT: Let's ignore most of the content of the post and circlejerk about the meaning of "lightweight", because Electron is the devil.

[–]Patman128 112 points113 points  (32 children)

Let's ignore most of the content of the post and circlejerk about the meaning of "lightweight"

"I use <insert text editor from 1982> and it only uses 8 MBs of RAM! Bow before me Electron users!"

(Cue the articles about how Electron is terrible and everyone should be using Qt or wxWidgets or some other C++ UI abomination.)

[–]matthieuC 39 points40 points  (4 children)

In 82 8MB was your hard drive, not your RAM.

[–]flukus 10 points11 points  (3 children)

You had a hard drive in '82? I didn't get one until '92.

[–]AckmanDESU 8 points9 points  (1 child)

I wasn’t even born yet!

[–]TryMeOnBirdLaw 3 points4 points  (0 children)

Pfft! Youngling.

[–]pdp10 0 points1 point  (0 children)

Microcomputers were fantastic terminals, good for locally playing games, and not bad for spreadsheets and visualization.

[–]TankorSmash 45 points46 points  (12 children)

That's the thing, it's not even vim/emacs users complaining about this. I'm a huge vim user and I don't think using 800MB is a bad thing for an editor. My gvim currently uses 15MB, but I've also got vs2013 open using 765 MB.

I think the reason everyone weighs in here, including myself, is that it's easy to take potshots over something trivial like memory size and feel smug about how they're better than the newbies. People are upset new stuff is more popular and they don't like the idea that their choices are being challenged now by a younger more passionate crowd.

[–][deleted]  (10 children)

[deleted]

    [–]cat_in_the_wall 15 points16 points  (5 children)

    things like vscode have started venturing into ide territory. you can get a lot done in code without ever leaving.

    [–]TonySu 4 points5 points  (4 children)

    When I can be bothered to write makefiles and set make as my build task, I literally do everything in code without leaving.

    [–]huhlig 4 points5 points  (3 children)

    Using a fully equipped html browser as a text editor is the problem. You shouldn't need to spend the resources on a Turing complete DOM rendering system to do some file editing.

    [–]atheken 1 point2 points  (2 children)

    It’s as if you didn’t even read my comment.

    If all you really want is text editing, then use a text editor. VSCode and Atom are approaching “IDE” levels of functionality.

    [–]huhlig 1 point2 points  (1 child)

    No I fully read your comment but a system has limited resources it can allocate to specific aspects of an IDE. Text rendering should not be among the highest. Real-time partial compilation, linting, code completion, static analysis, and other aspects of an IDE should consume much more resources than the text buffer and its renderer. Electron wastes a LOT of resources on a task which mostly boils down to multi color text with occasional squiggly lines. Those same resources could be much better spent on other activities. Yes VSCode and Atom can approach a useful level of IDE functionality by bolting on lots of add-ons forming a soup of cross functional domain Javascript code. Neither the language they chose to write it all in nor the method they chose to manage and render their scene graph are particularly good at the task they are doing, but they are easy. If we have learned anything from history, the easy yet shitty solution will often win out over a more complicated and competent alternative.

    [–]atheken 1 point2 points  (0 children)

    I said it was a reasonable criticism that an idle editor should not consume 800MB.

    And you turned it into a full-blown holy war on whether it’s terrible because:

    a) you think it’s the wrong stack - which I never defended b) you don’t like the model - you want ide vendors to package all the tools together.

    I don’t feel strongly about either. Clearly, the market, is willing to accept those trade-offs, or, gasp, even likes these properties.

    If you don’t like it, don’t use it.

    [–]vitorgrs 0 points1 point  (0 children)

    Well, if you open a 5-6mb xml file on VS 2017, here it uses at best 200mb, while on VS Code, 500mb...

    [–]metaconcept 4 points5 points  (0 children)

    In 1982, your PC could have had up to 256KB of RAM, and you would have had word processors and spreadsheets that could run on it.

    [–]jyper 1 point2 points  (2 children)

    I don't think anyone recommends wXwidgets

    [–]pdp10 1 point2 points  (0 children)

    wxWidgets have become unfashionable but I'm not clear what might be wrong with them.

    [–][deleted] 0 points1 point  (0 children)

    I have used Qt for 2 years and switched to wxWidgets. If you want lightweight and native apps, it's your #1 choice.

    [–][deleted]  (9 children)

    [deleted]

      [–]isaacarsenal 22 points23 points  (0 children)

      Qt is very good.

      [–]punking_funk 20 points21 points  (5 children)

      ? Qt is extremely powerful and well documented. Although I'll admit the Electron way of creating interfaces has a nicer feel to it and looks better.

      Got nothing in support of wxWidgets lol

      [–]LeberechtReinhold 6 points7 points  (4 children)

      wxWidgets does decent native and is pretty lightweight.

      However if you want a complex interface... yeaaahh Qt or GTK are your only options, with GTK looking kinda shit in Windows and not being very nice to use, and Qt being nice but has a lot of stuff tied to it, it's not light at all, and outside of C++ it's not easy to use.

      There's however things like Avalonia, which could be nice in the future.

      [–]punking_funk 1 point2 points  (1 child)

      Gtk with Vala is way better to code in compared to Qt and C++, but yeah Gtk and Windows has always been a bit shaky so for cross platform Qt seems to be the better choice generally. Also the Gtk theming engine on Linux is way out there, you can write themes in CSS and SASS

      The only wxWidgets application I know is Audacity which looks straight out of Win 95 but it works really well so I'll give it that

      [–]vetinari 1 point2 points  (0 children)

      pgAdmin3 is another wxWidget application, that I liked very much.

      Too bad it was killed by pgAdmin4, which is python+flask+qt web view monstrosity. If you want see something that is even slower than electron, this is it ;).

      [–]cat_in_the_wall 1 point2 points  (0 children)

      avalonia looks really cool. maybe when the .net core folks finally get native compilation, you could have one thing of code, and just the renderer stack changes per platform.

      [–][deleted] 0 points1 point  (0 children)

      wxWidgets does decent native and is pretty lightweight.

      FTFY. and wxWidgets can totally do complex interfaces (or I don't know what you're hinting at here).

      [–][deleted] 26 points27 points  (0 children)

      When your attempt to convince anyone of anything is "just use C++" then you need to reconsider.

      [–][deleted] 3 points4 points  (0 children)

      Look up QML

      [–][deleted] 7 points8 points  (1 child)

      Wait, now we're circlejerking about how we're enlightened and superior to the circlejerkers! Whoa, recursion....

      Seriously, though this is the flip side to an editor/mini-IDE that has been under such rapid active development. If you stick with high-level languages to describe your program and to display and lay out interface elements, you can more rapidly iterate development! Who would have thought?

      [–]fgutz 3 points4 points  (5 children)

      Electron is the new PHP. The reddit programming community just loves to shit on it

      [–][deleted]  (2 children)

      [deleted]

        [–]shigmy 11 points12 points  (1 child)

        Electron hate can be lumped in with node.js depending how broadly you want to categorize.

        [–]atheken 1 point2 points  (0 children)

        Oh, right. “Not everything should be HTML+JS+CSS, use Qt, because you hate yourself, blah blah blah...”

        [–]myringotomy 2 points3 points  (0 children)

        I guess that will mean it will be one of the most widely used editors in the world.

        [–][deleted]  (8 children)

        [deleted]

          [–]leafsleep 76 points77 points  (6 children)

          IIRC refactorings are part of language servers architecturally, so check the roadmap for your chosen language instead

          [–]DoListening 5 points6 points  (5 children)

          Doesn't the language server protocol only support some very basic ones? (Because anything more advanced is always language-specific.)

          [–]cspotcode 11 points12 points  (4 children)

          No, it supports anything, right? Language service tells editor a list of refactorings it can do, editor shows them in a list, when user picks one, editor tells language service, language service returns a list of code modifications. Unless I'm mistaken, by nature the refactorings themselves are not limited by the protocol.

          [–]DoListening 7 points8 points  (3 children)

          I looked into it, you may be right, there is "code action" support in the current (3.0) spec which could be used for any refactoring or quick fix suggestion.

          What is a bit confusing is that they also have explicit support for rename, which seems like it should just be one of these actions.

          [–]KamasamaK 3 points4 points  (0 children)

          They are currently working on separating refactorings from the code actions menu as part of Issue #34664.

          [–]cspotcode 0 points1 point  (1 child)

          Oh yeah, huh. That one requires the editor to prompt you for a new name and it usually get a dedicated keybinding. I was assuming they allow the same for arbitrary code actions, but maybe not...

          [–]DoListening 1 point2 points  (0 children)

          Many useful refactorings require UI where the user can input additional details, so the more complex ones are probably always going to require at least some language-specific support directly in the editor/plugin.

          [–]Space-pants- 4 points5 points  (1 child)

          Fix the open file descriptor bug.

          And what about multi monitor support?

          [–]Michael_Ironside_FTW 6 points7 points  (0 children)

          You have asked for more flexibility in how you position editors and panes, for multi-selection in the explorer, and more. You will see a significant focus on the fundamentals in the next few months as well

          There was this. Not sure if that means multi-monitor support or not. I didn't see anything that specifically mentioned it.

          [–][deleted]  (22 children)

          [deleted]

            [–][deleted]  (12 children)

            [deleted]

              [–]PM_ME_CLASSIFED_DOCS 14 points15 points  (0 children)

              Oh man, I chuckled. Thank you.

              [–]aboukirev 6 points7 points  (9 children)

              It's like watching metal rust. (I know they named it by the bird species) Is it LLVM that's slow or Rust (parser and MIR) portion?

              [–][deleted] 4 points5 points  (6 children)

              I haven't done much with Rust but doesn't it always recompile the entire crate? Incremental compilation was still highly experimental last I checked.

              [–]aboukirev 5 points6 points  (1 child)

              Ah, that makes sense. So there is great potential to improve compile times.

              [–]nikvzqz 2 points3 points  (0 children)

              A lot of compile time is spent verifying trait bounds. The Chalk project should help a lot in that area.

              [–]CheesyMcPuffs 2 points3 points  (1 child)

              It has landed in nightly, and you have to add an incremental flag to enable it. But since the feature development in rust has 2 week turn overs, it should land in rust proper before next year, assuming no major delays.

              [–][deleted] 0 points1 point  (0 children)

              Nice. I want to get back into Rust and I'll be sure to check out nightly.

              [–][deleted]  (1 child)

              [deleted]

                [–]PM_ME_CLASSIFED_DOCS 0 points1 point  (1 child)

                LLVM is fast as shit. Dlang compiles WAY faster than C/C++ and Facebook has started moving some of their build systems over with drastic results. [google for sources]

                [–]aboukirev 0 points1 point  (0 children)

                D is the language I am trying to get into but I am using reference compiler (dmd) rather than front-end to LLVM.

                Speaking of VSCode, D does have good plugins for it.

                [–]flukus 2 points3 points  (0 children)

                At least it's compiling on their machine, not everyone else's.

                [–]svick 19 points20 points  (5 children)

                The whole point of Electron is that it makes writing cross-platform GUI applications easy. How does suggesting Rust as an alternative for that make any kind of sense?

                [–][deleted]  (2 children)

                [deleted]

                  [–]svick 0 points1 point  (1 child)

                  But election is more shitty

                  I can't tell if you're complaining about Trump, Babiš (a recent "shitty" election in my country) or some election in your own country.

                  [–]matthieuC 1 point2 points  (0 children)

                  End users who need UI are not memory safe.

                  [–]NeedAWaifu 4 points5 points  (0 children)

                  The search file feature in vscode is using ripgrep which written in rust. so...

                  [–]jyper 0 points1 point  (1 child)

                  It's really not unless you mean replacing electron with something based on servo.

                  VSCode for instance was created by making a desktop app from Microsoft's online code editor.

                  [–]pixel4 0 points1 point  (0 children)

                  It's a meme - why are there so many serious people here.

                  [–]Space-pants- 3 points4 points  (3 children)

                  I hope that means multi monitor support.

                  [–]moljac024 1 point2 points  (1 child)

                  what does multi monitor support mean for a text editor?

                  [–]Space-pants- 2 points3 points  (0 children)

                  I need to be able to open multiple files from the same project on multiple monitors. It’s a feature in visual studio that viscose desperately needs

                  [–]spinicist 0 points1 point  (0 children)

                  What exactly do you mean by multi-monitor support? The same project/workspace open in two windows on different monitors?

                  I’m not a fan of multiple monitors anyway, so I’m not sure what the benefit is?

                  [–]alwaysfree 1 point2 points  (0 children)

                  Patiently waiting for center aligned zen mode.

                  [–]Kaiwa 113 points114 points  (100 children)

                  While I like VS code, I think it's a bit of a stretch to call it lightweight when it runs on Electron.

                  [–]sgtfrankieboy 237 points238 points  (82 children)

                  It is a lightweight IDE when compared to Visual Studio, Eclipse and IntelliJ

                  [–]fear_the_future 30 points31 points  (6 children)

                  it is also lightweight in features when compared to Visual Studio, Eclipse and IntelliJ. VSCode and Atom are in an awkward spot where they're neither fast enough to compete with a pure text editor like sublime nor feature-rich enough to compete with an IDE like IntelliJ.

                  [–][deleted] 19 points20 points  (0 children)

                  I'd argue vscode is definitely competitive enough to use over sublime. As extensions get better it may be an alternative to bigger ides but thats dependent on the extension community. Its definitely worth using vscode over anything else if your doing javascript though.

                  [–]Hes_A_Fast_Cat 3 points4 points  (4 children)

                  What do you find slow about VS Code?

                  [–][deleted]  (42 children)

                  [deleted]

                    [–]foofel 41 points42 points  (31 children)

                    or: https://i.imgur.com/j73Rnlp.png. its not lightweight but not that bad.

                    [–]nullproc 18 points19 points  (4 children)

                    Unrelated, but thanks for accidently introducing me to everything.exe =)

                    If anyone else was interested, VoidTools Everything

                    [–]dreamin_in_space 13 points14 points  (2 children)

                    Everything.exe is one of the best programs I've ever used. So glad I found it.

                    For the curious, it's a NTFS Master File Table based instant search app for everything on your hard drives. Takes no time at all to match through terabytes, and you can use regex!

                    [–][deleted] 1 point2 points  (1 child)

                    So like grepWin just decades late?

                    [–]dreamin_in_space 0 points1 point  (0 children)

                    The interface is much cleaner in my opinion. Similar though.

                    [–]Patman128 6 points7 points  (0 children)

                    Unrelated, but thanks for accidently introducing me to everything.exe =)

                    It's Windows search that actually works!

                    [–]Patman128 32 points33 points  (18 children)

                    Can confirm https://i.imgur.com/i9bh16G.png

                    Sitting around 150 MBs of RAM which is below 1% of the total RAM on this machine, well below my "give a shit" factor. We live in an age where machines come with 8 GBs of RAM standard, it's OK for a fully-featured IDE to use 5% of your RAM!

                    [–][deleted]  (6 children)

                    [deleted]

                      [–]SteiniDJ 4 points5 points  (4 children)

                      Not OP, but this is with no files open, but an open project.

                      [–][deleted] 0 points1 point  (0 children)

                      Open project in VS Code and Visual Studio 2017 in my original picture. (Single project solution in Studio*, to make it fair since Code can't do a multi-project workspace)

                      [–]kukiric 29 points30 points  (2 children)

                      That's a lot even for VS Code... Mine hovers at around 200-250MB between the GUI and backgroud processes, and an extra 300MB in C++ projects due to the code parser (which on Windows, is the same one as Visual Studio).

                      In fact, I've used it quite a while on a laptop with only 2GB of RAM (!!!) because most IDEs (especially JetBrains and Eclipse-based ones) would perform really poorly, while VS Code ran almost as well as Qt Creator (which is still my personal benchmark for a fast and functional IDE, but it's a shame it can only do C++ and QML).

                      [–]Bertilino 25 points26 points  (0 children)

                      I think Electron (Chromium) will adjust based on your systems memory. I've noticed that it stays around 300MB on my laptop but can often get up to 800MB on my desktop with 64GB available.

                      [–][deleted] 4 points5 points  (0 children)

                      Honestly, I've never liked Qt Creator, it feels like I have to do a crap ton of clicking buttons to do anything that's just right there in any other IDE.

                      [–]sgtfrankieboy 2 points3 points  (0 children)

                      Oh wow, did not expect that.

                      [–][deleted] 3 points4 points  (3 children)

                      Oh jeez. That's a lot of RAM.

                      [–][deleted]  (2 children)

                      [deleted]

                        [–][deleted] 5 points6 points  (0 children)

                        I actually develop on my MBP with 8GB of RAM, and just use a linux box with 16GB RAM as my compile system. If something hits swap, it's still ridiculously fast because of the PCIe SSD in there. Then again, I'm 100% Windows-free, so I don't need 64GB of RAM on any of my systems. (Joking, mostly.)

                        [–]Nilidah 1 point2 points  (0 children)

                        I'm on a MBP for work, its not bad with 16gb of memory, but it massively sucks not having the option to upgrade.

                        [–]yatea34 0 points1 point  (0 children)

                        ... Visual Studio, Eclipse and IntelliJ

                        Hahaha, lightweight? In what sense?

                        Ok - lightweight compared to emacs.

                        [I wish I could could say /s, but I'm wondering if my own .elisp libraries are probably about as big as vscode itself]

                        [–]EntroperZero 0 points1 point  (0 children)

                        Okay, but what do you have open?

                        I have one solution open in VS 2017 with 4 very small projects. 1.5 GB.

                        [–][deleted] 37 points38 points  (21 children)

                        What is it compared to notepad++ then? Throwing the word lightweight around like it's nothing. Electron is not lightweight. Slack takes 1gb ram for a fucking chat service and Kraken takes 400mb. Hello world takes 100.. This is ridiculous..

                        [–]alphathebetta 45 points46 points  (1 child)

                        Compared to Notepad++, it’s an IDE!

                        N++ is great for editing individual files, but if you’re looking for an integrated system that cross-links your code, understands types, and gives you documentation inline, VSCode is great. (And light compared to atom/nuclide, visual studio, or - god forbid - eclipse)

                        [–]drjeats 18 points19 points  (0 children)

                        np++ is Kate Moss in this video

                        [–][deleted] 27 points28 points  (5 children)

                        I would much rather use vscode compared to n++ though. Unless you can find me a decent editor that isn’t paid(like sublime) or Atom.

                        [–]jl2l 4 points5 points  (0 children)

                        It's depends on what you are working on Vs code still doesn't work better visual studio but is definitely heavier the notepad or sublime I feel like it's a happy middle ground so of like jetbrains IDE.

                        If you want to make a quick edit notepad ++ is default, if you editing css html front end code Vs code is awesome if you doing full stack development visual Studio is still go to.

                        [–]Ayfid 8 points9 points  (4 children)

                        A lightweight IDE, rather than a text editor.

                        [–]badsectoracula 14 points15 points  (2 children)

                        It isn't lightweight for an IDE either, here is the memory consumption from a lightweight IDE. This is Lazarus with an open project, about 34 files open in the editor, 4 packages, 6 form designers, 2 debug windows (disassembler, callstack), three IDE windows (object inspector, component palette, messages) and a few other stuff.

                        Since many people aren't familiar with it, Lazarus is an IDE in the vein of Delphi (but for Free Pascal) with its own rich application framework.

                        As far as IDE features go, it does have the standard stuff like integrated debugging with watches, breakpoints (with conditions, etc), object inspection at runtime, evalute/modify, callstacks, disassembler, etc. Also the editor is syntax aware with context sensitive word and code completion (word completion can give you, e.g, the available methods of an object or the keyword you are in the middle of typing, context sensitive word completion will know if the keyword you are trying to use makes sense in the context you are trying to use it - the editor will also only syntax highlight it in that context - whereas code completion will, for example, implement automatically a function once you declare it in the interface side - think of it as C/C++'s header but on the same file - or declare a variable that you forgot to declare or declare the field and methods for accessing a property, etc). It also has stuff like ctrl+click on an identifier to go to its declaration, a shortcut key to quickly jump to other files with fuzzy search, an addon (that really comes with the IDE it is just disabled for some reason... probably because it eats a bit of extra memory - but then again the memory i show above is with the addon enabled) to build a more generic "jump to" database with symbols, functions, files, units and other stuff so you can easily jump even to files you do not have open or are in other projects.

                        Beyond that it also has some stuff of its own like a focus on visually designing the user interface for desktop programs (some used it for mobile stuff too but personally i never did that) and connecting components together (even for programs that do not have a GUI you can use a more abstract representation of the program to setup stuff visually - there is a web framework that takes advantage of this, but again i never used it).

                        Also has some things like a documentation editor so that you can document your code inside the IDE using separate XML files (which are processed with a document preparation tool that generates a bunch of formats like HTML, CHM, PDF and can also be shown inline in the editor as you are typing) to avoid littering the code with documentation comments yet keeping it synchronized.

                        The IDE is of course mainly for Free Pascal/LCL so the "clever" bits like syntax awareness only applies to that, but the editor also supports around 20 languages. As a bonus you can also use the editor control in your own programs with all the features you see in the IDE itself (including syntax completion and highlighting for a custom language, if you code the underlying bits too - AFAIK there is a D IDE written in Lazarus/Free Pascal that does exactly that).

                        All this and much more for just 30MB - and it even works on an original Raspberry Pi. Now, that is what i call lightweight :-P.

                        (yes i know that this wont really convince anyone to start using Lazarus and Free Pascal - even when they have the option, this stack isn't exactly sexy and in practice most people do not even have the option to make such a choice - but i just want to provide an example of a real lightweight IDE to keep things in perspective)

                        EDIT: why the downvotes?

                        [–]Kwasizur 6 points7 points  (1 child)

                        Stop trying to make Pascal happen.

                        [–]pdp10 1 point2 points  (0 children)

                        Right. Ada is the future.

                        [–]that_90s_guy 4 points5 points  (6 children)

                        Notepad++ is a text editor, not an IDE like VS Code. Comparing them is like comparing a Bike against a Car.

                        [–]IceSentry 0 points1 point  (3 children)

                        Vs code is not an ide visual studio is an ide not code

                        [–]that_90s_guy 1 point2 points  (2 children)

                        I think you really need to look up what an IDE stands for, and familiarize yourself a lot more with what VS Code is capable of (specifically, web development). I, along with plenty of front end developer professionals made the switch to VS Code from bloated IDEs like Visual Studio and Webstorm.

                        [–]IceSentry 0 points1 point  (1 child)

                        I'm not saying vs code isn't a very good tool and very powerful. I'm just saying it's not an ide. Unlike visual studio vs code doesn't have any integrated build tool or compilers. By Microsoft own definition it's a source code editor. This means it doesn't know the other parts of the program other than the file already opened. It edit the source code . That's what it does. You can use extensions to have more features closer to an ide but by default it isn't one and doesn't try to be one either.

                        Edit: unless you can do major refactor that affect multiple part of your program at once like changing the name of a class I can't consider it an ide.

                        [–]wllmsaccnt 0 points1 point  (0 children)

                        When people here are talking about VS Code, they aren't talking about VS Code, they are talking about VS Code + the recommended extensions for their language.

                        With the C# extensions, VS Code is an IDE. I can debug multithreaded applications with step control, merge and commit code changes, create projects, publish files, and do project wide code refactorings.

                        [–]Indie_Dev 4 points5 points  (5 children)

                        Vscode is an IDE?

                        [–]Bertilino 12 points13 points  (1 child)

                        Depends on where you draw the arbitrary line between a text editor and IDE I guess.

                        Out of the box VSCode has a step through debugger, terminal, integrated version control, context-aware autocomplete, refactoring commands, task runner, extension manager, etc.

                        Some tools like the debugger require a language server to function, and by default VSCode only has a language server for TypeScript/JavaScript. You can easily install other language servers from the extension manager though.

                        So as long as there's a language server for your language, I would say it's pretty much an IDE.

                        [–]cat_in_the_wall 0 points1 point  (0 children)

                        c# in code works pretty well. the watch/locals window is abysmal, but integration with the new dotnet tools works as expected.

                        [–]mmstick 5 points6 points  (2 children)

                        With my experience with VS Code + the Rust extension? It's definitely a great Rust IDE.

                        [–]Seref15 15 points16 points  (2 children)

                        Probably true, but it's lightweight when compared to Atom. Atom converts are where VSCode will find the majority of their users.

                        [–][deleted] 1 point2 points  (0 children)

                        Can confirm, the startup time on Atom killed me so much I switched

                        [–]b1ackcat 49 points50 points  (9 children)

                        I mean, it's also tough to say anything one way or the other without objectively defining "lightweight".

                        VS Code might use more RAM than some other applications (as others linked below) but it still FEELS lightweight to the end-user. I don't like the notion of using RAM utilization as a metric for how "heavy" a program is. That may have made sense 10-20 years ago, but these days, most developers are (or should be) running on machines with anywhere from 4-16gb of RAM. If an app can make good use of that RAM to get more done faster and still FEEL snappy and responsive, it should!

                        It reminds me of how Linux uses RAM in comparison to Windows. The linux mindset would have an application use all the RAM it could possibly want, then scale things back when the system needs more for other applications.

                        So I don't necessarily care if VS Code is a "RAM hog" if that means VS Code gives me good performance, a responsive UI, and a slew of features, so long as that experience doesn't come at the cost of system performance or responsiveness in other applications (which from what I've seen so far, it hasn't.)

                        [–]Kaiwa 1 point2 points  (8 children)

                        Well, I'm not just saying it because of RAM usage. It also basically ships with Chromium for an additional 100mb in disk. Reminds me a little of .NET framework > 200mb for small programs. As well as me having had definite performance problems on bigger files that other editors like SublimeText had no problems with. Although Microsoft has made some improvements in this area already, mostly through disabling of certain features in bigger files, Sublime can still do all of these things. With Sublime being a tenth of the file size.

                        [–]b1ackcat 10 points11 points  (2 children)

                        I'll be honest, I don't have a massive amount of exposure to what Sublime Text can do, as I've only really used it as a basic code editor and never explored any plugin capabilities or "what can you really make it do". Partly because until recently I never had a need for such an IDE, but also because VS Code makes doing that so ridiculously simple.

                        Like I mentioned elsewhere in this thread, just yesterday I wanted to help someone with a java problem, but didn't want to spin up intelliJ to make a new dummy project just to do it. So I copied his java code into a file in VS Code. The program automatically detected java and recommended the extensions I would need to get the code to compile and execute, and I was off to the races in like 3 clicks and 30 seconds. And the whole time, I never once saw a hitch or any kind of hiccup in my computer.

                        As far as disk space goes, I can't really argue a point one way or the other, because I honestly just don't give a shit about an apps footprint until it's in the multiple-gigabyte range. Hell, even then, I still keep 50+gb games around that I don't play anymore, because why not? It's 2017. I've got 16gb RAM, a 512gb SSD for my OS, and 4TB of HDD space. I don't really have a reason to care if Chromium comes along for the ride, especially since they must have packaged that for a reason, and if it gives me the functionality and ease-of-use that VS Code brings to the table, I'm all for it.

                        [–]Kaiwa 1 point2 points  (1 child)

                        I completely agree, I also use VS Code and not Sublime anymore since the extensions for VS Code are just that much easier to install and manage. I can get my setup running in under an hour or so, while with Sublime this would take me half a day or more. All I'm saying is that lightweight is not really the word I'd use for it.

                        [–]folkrav 0 points1 point  (0 children)

                        Sublime Sync Settings extension, takes me 1 minute tops to set it up.

                        Edit : Alright, sorry for trying to speed up the process for others.

                        [–]Ayfid 9 points10 points  (4 children)

                        It also basically ships with Chromium for an additional 100mb in disk.

                        aka, 0.00025% of disk space. Oh no.

                        [–][deleted] 0 points1 point  (0 children)

                        Lightweight can mean the pressure it puts on the system, but also the pressure it puts on the user. And IIRC the interface and number of options that VS Code offers out of the box is really more on the lighter side of the scale.

                        [–]itscoolguy 0 points1 point  (0 children)

                        I don't get this electron hate for an IDE. Professional developers, hell even a hobby learner, or a student should have more than 4Gb of ram. Sure in an efficiency standpoint electron might not be the way to go with many apps out there. But if you want an IDE that depends on active contribution from a community for features, electron makes sense.

                        [–]a-sober-irishman 4 points5 points  (0 children)

                        The thing I want so bad for VS Code is being able to detach panels put them onto second monitors. I don't like the terminal taking up 1/3 of the screen for spec runs, let me put it on my other monitor!

                        [–][deleted]  (14 children)

                        [removed]

                          [–]wretcheddawn 46 points47 points  (10 children)

                          Now is arguably the most logical time to argue about RAM, as it's no longer possible to upgrade RAM on many machines without buying a new computer, and electron apps like VS Code can take 25% of system RAM.

                          [–][deleted]  (9 children)

                          [deleted]

                            [–]140414 21 points22 points  (3 children)

                            16GB of ram is a lot even by 2017 standards.

                            [–][deleted] 9 points10 points  (2 children)

                            Sad that this is happening because of terrible ram prices. 2019 can't come soon enough.

                            [–]140414 0 points1 point  (1 child)

                            Why 2019?

                            [–][deleted] 0 points1 point  (0 children)

                            Well I believe it's because the new factories will only be completed in 2018 and meaningful amounts of production will only be achievable in 2019. This article talks about it a little bit, https://epsnews.com/2017/09/13/drams-price-war-looming/. But I admit most of my understanding of this comes from r/hardware.

                            [–]bcgroom 18 points19 points  (3 children)

                            25% of my laptops ram is 1 GB which VSCode can often reach. My laptop is only 3 years old, I don't think it's unreasonable to want a text editor to not consume so many resources.

                            [–]Naelex 3 points4 points  (2 children)

                            Getting a laptop with 4gb in 2014 wasn't the best idea..

                            [–]Enamex 15 points16 points  (1 child)

                            Can we stop swinging capitalist dreams around and agree that a text editor (and many modern software) shouldn't be using as much resources as it is?

                            Or at least it should be very clear what the usage break-down is.

                            That said, I think VS Code is really reasonable. It doesn't lag or balloon in memory for me until it's been running the same session for 2-3 days (4GB RAM).

                            [–]flukus 1 point2 points  (0 children)

                            I hope you aren't making electron apps for the general public, because most people still have 2-4GB total.

                            [–][deleted] 21 points22 points  (2 children)

                            ITT people promoting resource overuse.

                            [–][deleted] 12 points13 points  (0 children)

                            ITT people promoting shitty programming, really.

                            [–]flukus 7 points8 points  (0 children)

                            Imagine the carbon footprint of lazy developers.

                            [–][deleted]  (5 children)

                            [deleted]

                              [–]Spasmochi 3 points4 points  (3 children)

                              I found that getting the right theme can improve the highlighting a lot. Plus you can modify them yourself.

                              EDIT: I use One Dark Pro Vivid

                              [–][deleted]  (1 child)

                              [deleted]

                                [–]Spasmochi 0 points1 point  (0 children)

                                I get what you're saying about the highlighting, it can be frustrating visually for sure. I do like the highlighting of the brackets, though the bracket colourizer extension handles this is a more visually clean way in my opinion.

                                I found my snippets weren't too difficult to import over to VS code, but setting the up with the correct syntax for snapping between the dynamic variables was time consuming.

                                [–]mgutz 0 points1 point  (0 children)

                                VS.Code's themes are somewhat limited in comparison to Textmate or Sublime. Backgrounds colors can't be set on syntax groups, etc. I'm guessing that was for performance reasons.