9 ms·
I'm not a fan of VS Code because everything is a plugin. And plugins are inconsistent, buggy, inconsistently documented, hard to use and find and update and go
by andrewstuart 6y ago
I'm not a fan of VS Code because everything is a plugin.
And plugins are inconsistent, buggy, inconsistently documented, hard to use and find and update and goodness knows who developed them. Plugins can be duplicated, outdated, abandoned and incompatible.
But worst of all, a big pile of plugins isn't a consistent integrated product vision.
I gave VSCode a solid go, and I had to keep installing plugin after plugin, but it was truly painful trying to find where in the interface to use the plugin and how to use it.
It reminded me of using VIM as an IDE - not an IDE, a big pile of stuff that isn't integrated. I started using VIM as an IDE when I started programming and I believe it cost me a year of time - I should have gone straight to a consistent integrated IDE.
I prefer a batteries included approach such as the Jetbrains IDE's.
I absolutely do use VS Code - it's always loaded, but I only use it like a simple text editor.
- Clubber 6y agoJetBrains is and always has been amazing, but I like VS Code mainly because I'm accustomed to Visual Studio which is a huge bloated mess, especially inside a VM. For me it's quite an improvement. I mainly do C# back end stuff, so YMMV. I'm sure C# is a first class language for VS Code.
- lostmsu 6y agoVS 2019 without ReSharper does not feel bloated at all.
- Clubber 6y agoI'm running VS2019 inside a VM on a Mac and it's horrendous, particularly compile times. It does feel normal on a proper Windows box though.
- bouke 6y agoExactly this, VS2019 running inside Parallels Desktop is so slow. I’ve tried optimizing to no avail.
- Analemma_ 6y agoThe Mac version of VS is not actually VS at all, it's rebranded Xamarin Studio. I assume the GP was talking exclusively about "actual" VS when he says it's much better now, which I also agree with.
- gruez 6y agoHe mentioned "in a VM", so I'm guessing he's running the actual visual studio on a windows VM (guest OS), in his mac (host OS).
- lostmsu 6y agoI see no reason for the compile times to be different. Windows is known for slows file system access though.
- ClikeX 6y agoI disliked Rubymine because it tried to do too much. And it didn't work well with my docker stuff. Which ultimately made a lot of it useless. My VScode is tweaked to the languages I need and I can use one editor to switch between them. And the linting and formatting just works.
- oceanghost 6y agoI have to reinstall PlatformIO every time I use the program. It only takes a second but its absolute madness.
- ldiracdelta 6y agoI wanted to replace Arduino IDE so bad, but it kinda works. Certainly compared to the pain I experience on PlatformIO.
- diydsp 6y agoYes it seems to be different everytime I use it. But the one time that the debugger worked was amazing. Wish I could make it happen again.
- sorenjan 6y agoArduino also has "Arduino Pro IDE" that's based on Theia, a VSCode fork. https://blog.arduino.cc/2019/10/25/new-arduino-pro-ide-a-closer-look/ https://blog.arduino.cc/2019/10/25/new-arduino-pro-ide-a-clo... https://github.com/arduino/arduino-pro-ide https://github.com/arduino/arduino-pro-ide
- PascLeRasc 6y agoIt's always worked well for me on Atom, for what it's worth.
- hrktb 6y agoI totally agree with the everything plugin aspect. Then consistent and integrated IDEs are a mix of “everything and the kitchen sink” and “our way or the highway” Personally I prefered to pay the price of an ugly and patchworky workspace to get something that works like I want to work and without too many things I don’t care about.
- httpsterio 6y agoI'd rather take an editor where I add in the stuff I need instead of it coming with all the xruft I won't be using. Visual Studio would be nice but the UI is way too cluttered for me and I can't focus if I can't organize the views as I need them. No issues with VS Code. I'd just wish it'd be possible to pop out the file explorer and git views into their own windows but I can use other tools for those so no harm there.
- lloeki 6y ago> It reminded me of using VIM as an IDE - not an IDE, a big pile of stuff that isn't integrated. I prefer to use Vim as a powerful editor, within Unix as my IDE.
- ausjke 6y agosame here, use it on the server and desktop, gave up on vscode one year ago, did not need my purchased jetbrains(webstorms etc) for 99% of the time. vim rules for me, as a full IDE from the terminal.
- willbw 6y agoout of curiosity what language do you write primarily?
- ausjke 6y agoI actually deal with a lots of code, c/c++/js/python/golang/lua/sql, guess what vim can be configured to work well for them all: autocomplete, syntax highlight, auto-format,etc. along with nerdtree, I rarely need mouse at all during coding.
- TeMPOraL 6y agoUse Emacs - it's a big pile of stuff that's very well integrated, because the platform lends itself to deep interoperability - thanks to a strong conceptual model and extreme reprogrammability. :). Jokes aside, I guess what VS Code needs is to grow a strong community of people who care about the editor as much as what they do using it. Emacs has managed to do that, so it's possible.
- jimbokun 6y agoIt seems like Emacs shares the same product philosophy of VS Code. Outside of the core functionality everything is an ELisp/Javascript plugin. That explains Emacs amazing longevity, but as the article points out, Emacs longevity is actually a problem as its keyboard and UI conventions predate the modern conventions that came with Windows and MacOS.
- TeMPOraL 6y agoIt's a slightly different philosophy. Emacs is best viewed not as text editor with plugins, but as a Lisp Machine emulator with a text editor. The joke about it being an OS is more true than people think: what you get is a (2D, not 1D like shell) text-oriented programming environment, back from the times where "a programming environment" meant a fully end-user-programmable OS. This has an important downstream consequence on the "plugin" ecosystem: since these "plugins" are better seen as small applications running on in a shared, restriction-free OS, they don't need a fixed and restrictive API to interoperate. The entire Emacs is the API, and as long as an elisp app follows conventions and plays nice, it will almost seamlessly interoperate with every other app. And in cases where it doesn't (e.g. you try to use two apps that do roughly the same thing), it's relatively trivial to patch out the conflicts yourself. Having an integrated debugger and REPL is also helpful :). VSCode philosophy feels more restrictive compared to that. As for the keyboard conventions, it's true and it impacts the market share, but that's a problem for almost any software that reaches longevity. Conventions come and go, so it shouldn't stop one from learning a tool that keeps proving its worth over decades. And in case of Emacs, if you don't like the default keybindings, you can quite easily patch them up to follow whatever convention you fancy :). Terminology is a slightly worse problem because you can't patch that out if you don't like it - but then again, it's just a bunch of terms you need to learn; par for the course for any developer.
- geraldcombs 6y agoThere are two aspects of this that I run into: - Features that should arguably be built in require searching for, evaluating, and installing a plugin. - Some plugins spam you with a "What's New" page with each update. Bookmarking is an example of these two in action: https://github.com/alefragnani/vscode-bookmarks/issues/175 https://github.com/alefragnani/vscode-bookmarks/issues/175
- gruez 6y ago> I'm not a fan of VS Code because everything is a plugin. Replace "vs code" with "javascript" and "plugin" with "library" and you've just described the javascript ecosystem.
- leetrout 6y agoYes. And Gatsby has taken it to the extreme.
- azangru 6y agoGatsby was everyone's darling just a couple of years ago!
- orange8 6y agoIsn't that the very definition of a programming language eco-system? Or is the point you are making being you do not like eco-systems?
- gruez 6y agoAs opposed to something like python, which is "batteries included".
- throw_m239339 6y agoI agree that there should have been some kind of "core" package for Node.js that is supervised by the developers but still an optional download, but the people that were initially in charge of NPM fought that idea to death in order to make people... use and rely on NPM. Some people absolutely took advantage of the situation from a financial standpoint and created a business opportunity for themselves, at the expense of the community.
- orange8 6y agoThere you go: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... Batteries included! All you ever need to work with JS.
- barkingcat 6y agoYou don't need all the plugins. You just need a curated set. And some of the plugins are fantastically high quality. The Microsoft Python one is excellent, as is the Remote development one. I'm a fan of VS Code because in spite of it having a plug in system, there are great plug ins there. And that one single great plugin is all that is needed (for that specific purpose)
- bsder 6y ago> Remote development one. Careful with the Remote Development plugin. It does NOT have an open source license.
- throwaway17_17 6y agoI’m curious, why does this fact require that on be careful. I’m not trolling, I’d like to understand the cautionary stance.
- barkingcat 6y agoI think this person wants you to be careful the way you should be careful around using Windows 10, or Apple App Store, or the iPhone, or Dell Laptops. Absolutely everything we use has non-opensource components, unless you try to pursue the path of a purist.
- jyriand 6y agoDoes VSCode have something similar to emacs’s spacemacs, doom or prelude?
- barkingcat 6y agoare you asking if anyone implemented the 3d first person shooter DOOM inside of the vscode plugin system? that could be a summer of code project for some aspiring coder.
- deleted 6y ago
- gigel82 6y agoI use VSCode with no plugins. It's an amazing code editor, and by default it does code highlighting for C++ and TypeScript. I build in a terminal, outside of the editor, the way it's supposed to be done.
- 0x008 6y agoWell an IDE is more than just a text editor+syntax highlighting+a terminal. It's also about type hinting, refactoring, debugging, etc. And for the two languages you speak of it just so happens that the support is shipped with VS Code since Microsoft is heavily invested in the development of these languages. For other's (even Python) support varies widely.
- orange8 6y ago> I absolutely do use VS Code - it's always loaded, but I only use it like a simple text editor. Then you do not really need to install any plugins. Problem solved!
- city41 6y agoCurious what language/env you tend to work in? I have found that working in JavaScript and TypeScript, I don't really need any plugins when using VS Code. I do install a couple, but none are essential, just some small niceties.
- drdaeman 6y agoI think it's the core product values for me. JetBrains IDEs are development environments, meant for editing code, in specific primary language. They really try their best to understand code that user works on (which is a hard problem, because code is frequently invalid while it's being actively edited), and make it as convenient as possible. VSCode is - in my understanding - essentially, a step over older glorified extensible notepads on steroids. Unlike those older extensible notepads, it does have built-in programming language editing features, but mostly it's still not the core product but rather a job for extensions and language servers to fill that niche. So for me VSCode wins over editors like Sublime or Atom, that don't have core programming language processing concepts baked in, but still loses to the specialized IDEs where specific language support is a primary feature (like PyCharm or GoLand).
- jolux 6y agoIntelliJ Ultimate has support for all of the languages except C/C++, C#, and Swift/Objective-C.
- grishka 6y agoBut there are JetBrains IDEs for those too — CLion, Rider and AppCode respectively. No IDEA how well they work though.
- rfw300 6y agoCan’t speak to CLion and AppCode, but Rider is spectacular. It integrates all of Resharper’s (JetBrains’ C# code analysis tool) features with the IntelliJ core that run circles around the bloated, buggy mess that is modern Visual Studio (not to be confused with Visual Studio Code).
- jolux 6y agoLove Rider. ReSharper makes Visual Studio unacceptably slow though. It's already borderline without RS but adding it makes it totally suck, for me at least.
- corytheboyd 6y agoRide or die Jetbrains fan here, completely agree with these points.
- fmakunbound 6y ago> And plugins are inconsistent, buggy, inconsistently documented, hard to use and find and update and goodness knows who developed them. Plugins can be duplicated, outdated, abandoned and incompatible This is why my experience with VS Code reminds me of Eclipse.
- IanSanders 6y agoDid MS give up on fixing VS bugs and just went 180? Or did they plan VSCode to replace VS but then discovered it would be too much work?
- MikusR 6y agoBut Jetbrains IDEs are exactly that a collection of plugins.
- SPBS 6y ago> It reminded me of using VIM as an IDE - not an IDE, a big pile of stuff that isn't integrated. I started using VIM as an IDE when I started programming and I believe it cost me a year of time - I should have gone straight to a consistent integrated IDE. You don't start using Vim as an IDE. It's a waste of time, because like you said IDEs offer a complete product right off the bat. You start using Vim as a text editor, for text editor things, and when you're familiar enough with Vim's plugin ecosystem you may start to enhance your text editing experience with IDE-like features. And you may come to realize that's all you need. Learning Vim for the sole purpose of tuning it into an IDE is a terrible idea no matter how you slice it. I blame people who hype their Vim setup as a complete IDE even though they started learning Vim as a text editor, not an IDE.