I'm actually a pretty hard core Linux user who avoids M'soft products when possible, but it's hard to deny I good IDE when I see one. I've never been able to navigate emacs/vim with ease, and sans them, I've never heard of a highly touted, Linux-friendly IDE.
(Just chiming in my $.02) Eclipse, I guess because of the plug-in architecture, always felt a bit "left hand doesn't know what the right hand is doing" to me.
Sure, it works, but I wouldn't say it's something I like to use.
Eclipse is a Visual Studio competitor, not Visual Studio Code. The former is the classic full blown IDE (like the Borland IDE's of old), the latter is a more a feature rich text editor (competitors being Sublime Text, Kate, Notepad++, Brackets and Atom - to name only a small few popular examples)
I'm struggling to understand how you are a hard core Linux user yet you've never heard of a good Linux IDE. KDevelop? Eclipse? Netbeans? KomodoIDE? Anything from JetBrains? And I don't even know what might be available on the Gnome side. Then there are all the great editors that sit right on the verge of being IDEs once you configure - Kate, KomodoEdit, Sublime Text and so many more.
Personally the look at VS Code made me think it's an editor not an IDE but maybe that's changed.
I've tried Eclipse, Netbeans, Komodo IDE, Geany, and found them either too clunky and unusable on my older machine, or too barebones with little intellisense. I did start using Sublime Text once, but didn't stick it out long enough to get used to it. I haven't tried the JetBrains products, to be fair.
Definitely worth a try... On two recent jobs, I used my regular WebStorm IDE but was also required to use VS for certain tasks. I much preferred the Jetbrains IDE, and I don't think it's just down to familiarity as I would seek out equivalent workflows in VS.
Honestly none of those are very good. The UX, speed, stability, etc is lacking. Eclipse is ok if you're only doing Java (and was good 10 years ago, but the UX is irrelevant today), but sucks for everything else. IntelliJ is the only one do better support other languages but it too is quite clunky, and I use it regularly.
Sublime is not on the verge of becoming an IDE, nor any of those other ones. There are way too many missing features and constructors for this to happen, and I also regularly use it and prefer it as my text editor.
I haven't used any of the VS products extensively but I know they have a good reputation. I hope Microsoft could make it amazing for all languages and all platforms. Sounds good to me! Please just make a reasonable replacement for Xcode! (Jetbrains is terrible)
Highly regarded? Absolutely. Run very well under Linux? I dunno about that part. I run PHPStorm on a workstation with 16GB of RAM and it still huffs and puffs on occasion when doing stuff like indexing files or running their Intellisense-alike. It's fine, I can live with it, but it's not exactly "wow, this thing really flies!" performance.
I agree, use Pycharm, Webstorm and PHPStorm(rarely these days) on all of my Ubuntu laptops with no issues except when doing things any IDE would slow on, due to the background activity(your cpu) out of the control of the Software.
What? Stop lying and spreading false rumors. IntelliJ Idea and PyCharm are rock stable on Linux, they are not slower and if something isn't working then please let Jetbrains know.
Jetbrains stuff eats up nearly as much RAM as Eclipse. If you're not on an 8+GB machine, prepare for your SSD life being massively reduced due to swap.
8GB of ram is not hard to get today, and jetbrains ide's speed when you have that is pretty impressive compared to features. Also for the more focused editions (pycharm, phpstorm, rubymine) they have even better performance compared to intellij (which usually comes with too many plugins installed).
I'm giving my opinion and I think the experience is crap.
* Jank occurs frequently
* hidpi support until theoretically recently was only on the Mac
* it's too often indexing
* vim support is mediocre
* themes are terrible and require difficult ways of installing instead of centralizing and hosting
* too many tiny icons of poor design with no text unless you hover
* overall UX is terrible (why can't it be like someone Apple would design for consumers -- Xcode isn't their finest work but is better than the low bar of IntelliJ)
* font rendering is shit (blame Java)
* their iOS environment is such a shit show that it's not even funny, and only now they're opening Xcode for IB instead of having a decent replacement that can do story boards (does it even have swift 2.1 support?)
It's all subjective. Objectively, they have a huge following with many enthusiastic users. Clearly it's not the disaster that you are making it out to be.
I love some PyCharm. It's a wonderful piece of software. It is a little slow to start, and it is indeed heavy on memory, but RAM is cheap and I don't reboot hardly ever. It is 100% a first-class citizen on Linux.
Having a huge number of users doesn't mean the product is what it could be. Windows 3.1 had a lot of numbers -- does that mean it was "good?"
I don't know why programmers have to deal with such shit tools. Everything is more/less the same since the 80s, with the exception of github, git, and lib centers like maven or pip. Otherwise the fundamental experience of text editors is the same, and even IDEs are more/less the same.
Meanwhile our interfaces have vastly improved otherwise. That's what I'm talking about. The bar should be higher than VS. The bar should be as high or higher than the iPhone itself.
Netbeans, despite what some people argue, is very good with both Java and PHP.
TBH I have minor snags with 8.1 so I'm holding back there. However compared to Intellij where I had a paid license and they still replied with: "just buy the next version where it will be fixed" in the Netbeans community Geertjan replied personally and helped with the troubleshooting for my unpaid product.
Are you seriously comparing Eclipse to Visual Studio? I use both of them. Eclipse for CUDA programming, Visual Studio for everything else. There's no comparison. Eclipse is a buggy heap of crud. Visual Studio just works.
As much as I like VS, depending on the plugins you need, when working in web projects it can get funky to frustrating... on a system with plenty of RAM and an SSD, it's very nice.
I do more node these days, and so far I like VSC best of the editors I've tried.
Of all those, jetbrains is the only company pushing the envelope in terms of productivity and tooling. It's a common meme that Visual Studio is an IDE wet dream. Is it really so hard to see?
There is so much wrong with this comment, I don't understand how it's being up votes. Never heard of a Linux IDE? Hard core Linux user but never been able to even navigate vim?
Just down the page is the opposite statement, "Who cares, VS Code is nothing more than a fancy text editor. Not and [sic] IDE." They missed the point, but you are just factually wrong.
It's so easy to pile on since this post is already almost invisible, but this sounds like Richard Stallman's throwaway. The point isn't that it's proprietary, it's that it's an effective tool to use. Also, we're talking about the fact that it is being open sourced so I think your comment is coming from a place of hurt. Who hurt you, bro? Was it Bill? Show me on this doll where Bill hurt you.
Could you elaborate? I've toyed with it, but Sublime works pretty damn well for me so I saw little reason to switch. What about it is so revolutionary for you?
For me, a lot of things simply make more sense. For example, in Sublime, the system configuration files can be modified, but you shouldn't do that. Instead, you have to write on your user settings. On VSCode, you can't modify the system files, and there is a handy reminder and shortcut at the top of the site that configuration files should go in the user settings.
Also, I like the way it handles open files (they are held on a workspace area where you can discard changes) and it also come with git integration.
You can rely on plug-ins to do this kind of work on sublime, but you have to put a lot more effort in configuring it, whereas VSCode comes with better packages right off the box.
Several things. Integrated debugger. Built-in autocompletion that just works (at least for C# and JS that I've checked). Already up to parity with ST3 (which I use daily) for a lot of things, and updated on a monthly basis by a large-ish team. Now open Source.
Second that, I was writing load testing scripts in Python on Ubuntu. I was like Vim + git in console and then I thought, since I am .NET dev, could I install VSC on Ubuntu and I could and it was awesome.
As an Atom user that's only dabbled with VS Code when it was announced, what are its advantages? Last time I tried Code it seemed like a fork of Atom with Microsoft branding.
You probably don't need a dedicated compiling add-on VS Code has a very simple, but capable, generic task running system. If you hit Ctrl+Shift+B ("Build" shortcut) it will launch and if it is the first time you've run it in that folder it will scaffold for you a sample JSON config file with a bunch of examples of how to configure it (and more examples are online).
Thanks! I tried the most basic building command possible and it works well. Displaying the PDF on the right panel would be very nice but it's a start. For reference I used the following tasks.json:
There's other features, but the biggest for me is if you're writing TypeScript or C# you get first-class visual debugging support. Also the live Markdown Preview (cmd-shift-v) is pretty awesome.
One of the biggest advantages that I know of is that VSC has a very good NodeJS debugger for Javascript and Typescript[1]. Having the debugger integrated into the editor is huge improvement over Node Inspector. Last time I tried Atom's debuggers, they were not very good.
VS Code's debugger has an open extension model that allows adding debuggers for other languages. We have Node, Go, and Chrome debugging today, and are planning on adding others.
When I first tried VS Code, the first thing that I noticed was how much better the performance was compared to Atom. From general snappiness of basic editing tasks to startup times to working with large files, VS Code simply outperformed Atom across the board according to my brief unscientific observations.
At the time, I ended up sticking with Atom mainly because VS Code wasn't open source and lacked extensions, but it looks like this release addresses both issues.
Well done, Microsoft. I'm definitely going to give VS Code another serious look and recommend other Atom users to do the same.
This is spot on for me as well. I always wondered how VSC was so much faster given that they are both on top of Electron. In either case, this is all great news.
Electron, iirc, is just the UI layer. Atom actually has a lot of code written to render, edit, and rerender text (they were initially using React at one layer of the process). I can't find it now, but there was a good blog post from the Atom team that discussed their efforts in detail. So I guess I'm trying to say that I believe the code handling the slow parts is predominantly unrelated to the UI layer. Also, iirc, VSCode's editor is based on Monaco (http://www.zdnet.com/article/microsofts-browser-based-dev-to...).
Pretty cool! I've been using it a bit on the days where I have to do stuff on Windows, mostly for hacking on C++ code and playing with GL shaders (the code is cross-platform with CMake, so I don't really need Visual Studio).
I've had a few ideas about little things to add to it, and having it open source makes that a possibility!
VS Code has a pretty simple auto-complete mechanism for C - pretty much, it will auto-complete words that have been used before in the current file. That works for me, because I generally write APIs that have simple interfaces with a... I'm not sure how to describe it, parameter ordering that I expect.
If you're working with a bunch of libraries where function signature completion would be useful, then maybe a more functional IDE is useful. OpenGL is an example that comes to mind... I have no idea off the top of my head what the parameter ordering for glTexSubImage2D is. Generally though, I personally prefer the delay when occasionally having to look up an API over the delay caused by using a heavy IDE. On non-Windows, I'm an emacs guy. I've tried Emacs-win32 and it just feels like a UFO on Windows.
To answer your question, I personally do use VS Code on Windows, even when I'm working with crazy APIs like OpenGL. It subjectively feels faster to me than Visual Studio or Eclipse, although that might just be in my head.
The intellisense feature (or whatever the Eclipse folks has called it) on Eclipse is pretty good if is able to resolve its indexing paths correctly. This is not always possible.
I also want Eclipse to be a lot faster. I come from a vim background, and Eclipse feels glacier.
I really hate how MS names things. Microsoft SQL Server, or as most people call it SQL Server. I read the title to this post as Visual Studio code is now open-source - but it's not. The product some genius called Visual Studio Code has been opened.
I'm really surprised Windows isn't called Microsoft Operating System, or Operating System for short.
Amusing counter argument, but the pendant in me wants to point out that the DOS-name was inherited from the SCP product MS bought[1] rather than a naming convention MS created
And the pedant in me wishes to assert that Windows, strictly, follows the rule; it was originally sold as a windowing system for DOS, and the generic use of the word "window" to mean a rectangular section of the screen set aside for program output was well established.
It is not just an editor. It has debugging capabilities and is extensible. Also runs on Mac and Linux and now open source. In some aspects it is much better than heavy loaded old VisualStudio.
It's not an editor, it's an IDE. Just look at the Python support they expect to add next year: "full intellisense, debugging, profiling, pkg mgmt, unit test, virtual env, multiple interpreter, Jupyter, etc. support.". All that in one program? You can't tell me that's not an IDE.
Eh honestly, I prefer the naming of things "what they are" as opposed to these open source names. Sometimes I wonder if ruby programmers aren't eating enough. Building an API might mean you use Cucumber, and Grape.
The problem with naming things "what they are" is that the scope of the project can change over the years, so that the name selected 5 years ago doesn't appropriately reflect what the project does now.
In Spanish (native speaker here) the norm is to capitalize just like in normal phrases. In English the norm is... different. I didn't know what they were talking about either, but didn't believe for a moment that VS was being open sourced :-)
I've been using VSC for a few months now for side projects and I really like it. I've ditched notpad++ for it without any regrets. I'm not a fan of using my full blown VS2015 either for nodejs/web projects. Glad to see support for nodejs debugging this will be useful.
Has anyone spent a lot of time with VS Code? I tried it a while back when it was first announced and have not found a reason to re-visit it yet. At the time it felt like a sublime-text alternative instead of an IDE (was it always positioned to be just an editor?) Always great to see more options though.
It is far from perfect, but it proved to me you can build a modern editor on top of chromium without killing my battery and cpu, unlike, you know, atom.
It is my main IDE for Typescript since v0.1. VSCode in combination with TypeScript provides a superior Frontend-Dev experience to any other Language - IDE combination in my opinion.
Apart from an occasional restart required it has been pretty solid. Performance(autocompletion etc) is very good and for TypeScript development, VSCode is pretty feature complete...
I think that's exactly what it is trying to be: a simple editor with some capabilities.
A lot of people expect a "real IDE" to have a lot of fancy, specific, semi-proprietary features, but what I believe VSC is providing great editing capabilities and offloading everything else to good task managers (and now, extensions). A lot that you can do in "real IDEs" (like building your project) can be handled by Gulp, Grunt, or other runners in a more or less independent way. I actually prefer it this way now, regardless of the IDE I use - that allows my projects to be independent of the IDE.
To me, where VSC shines is really in editing comfort, be it with the super fast typing response (really!), or with the Git integration, or with how it handles work space for opened files. It looks like it is supposed to be uncomplicated.
This is one that I admit is fairly subjective, and I apologize in advance if this is not scientific enough, but: it just feels right.
I think they optimized the way code drawing is done in such a way that it just happens with the least amount of time possible between typing and drawing. The end result is the same as if you typed anywhere else, but because the response is cut by, say, 16ms, it just feels fast. I remember the first time I tried VSC - I almost felt like the letters where coming out from under the cursor ahead of time! It was a weird moment.
The counterpoint is IntelliJ. It's not a slow IDE (I used Eclipse before so that'd be unfair to say), but maybe it has a couple of frames too many before drawing what's typed, so it feels like it's lagging in comparison. Maybe why they're making it a point of future releases[1] to reduce any typing lag.
I never thought I'd ditch Sublime Text after using it almost exclusively since TextMate (so for the past few years). I especially never thought I'd ditch it for a Microsoft product. And perhaps most importantly, I never thought I'd use an editor that didn't have Vim keybindings (yet! it's at the top of their list, apparently).
But after using VS Code for a while now I'm pretty sure I'll keep using it, at least for Node.js development. The IntelliSense support through TypeScript definitions, the out-of-the-box support for what I consider essentials (linting, task running, emmett, etc.), and perhaps most importantly the built-in debugger make my life significantly easier.
I enjoyed working with node-inspector, but the debugging in VS Code is a lot more convenient (mostly).
To be fair, for non-node development I'd say VS Code is not yet good enough to replace Sublime Text, but that might change when enough plugins and features have been added.
What it boils down to for me is that VS Code somehow seems to be optimized exactly for my workflow. It doesn't have tons of buttons and interface elements that I don't need (as many IDE's do), and it isn't slow. But on the other hand it offers very sensible defaults that other editors such as Atom and Sublime don't have. On both those editors I've had some issues with setting up linting, debugging, IntelliSense, and a few misc. other things. The main reason for that, I suppose, is that they're all plugins developed by different people. I like how these just come with VS Code and work right away.
I'm rather baffled that I'm saying all this, considering my general aversion of using Microsoft products (even if this is based on the past). But it is what it is. VS Code is a huge timesaver for me, and (mostly) hits the sweet spot between plain, fast editor and IDE.
The good: The Monaco editor component that Microsoft paid a lot of money is now under MIT license. (bought the company from Switzerland)
The bad: they refactored it to TypeScript (from Javascript)
The ugly: the sole existence of TypeScript and some ES6 syntax is the monaco editor project and Visual Studio Online and Visual Studio Code is a fork of it.
Why is refactoring code from JavaScript to TypeScript a bad thing? Short of using a better, but non-web-compatible language, I don't really see a better option.
I think reasonable people can probably agree that there is a difference in kind between CoffeeScript and TypeScript. CoffeeScript was functionally equivalent to JavaScript, whereas TypeScript has feature-level improvements that are worth a developer's time. Sure, TypeScript is pushed by Microsoft. It's also an excellent solution for large-scale systems, its adoption is nontrivial, and Microsoft has a history of supporting its tools (Managed C++ aside, I suppose) in a way that can offer a promise of consistency on its own.
Microsoft has also been doing a good job of keeping TypeScript aligned as JavaScript++ by absorbing ES6 features into the language. I was initially worried that TypeScript would be a fork of JavaScript and eventually diverge enough that it was painful to use, but there aren't any signs of that happening yet.
I don't mean to imply it's dead, but I think it's safe to say it's resting? I haven't heard of new development being done in it in a while, and its time in the spotlight certainly seems to be over.
Monaco was not an acquisition. Microsoft hired Erich Gamma, who built a team in Switzerland to develop Monaco (and later Visual Studio Code).
Visual Studio Code is not a fork of Visual Studio Online. Visual Studio Online (now Visual Studio Team Services) is not a text editor, it's an ALM system.
Personally (!) I don't agree with your negative points.
We refactored a JS SPA to TypeScript and couldn't be happier about it. So that 'bad' point is fixed.
They use TypeScript also for the TFS web interface, on premise and online and are very happy with the result. There an article on bharrys blog on MSDN about that. So that 'ugly' point is fixed.
How about it's tainted with the Microsoft association? Even the appearance of the string "Microsoft" is enough to produce a very visceral reaction to many people. They may suppress it alright and even try to convince themselves that maybe _this time_ Microsoft really has changed but the reaction is there and, like I said, very visceral. The attempts of TypeScript or F# to distance themselves as much as possible from Microsoft speak volumes. And BTW last time I checked Microsoft was still trying to push its MS Office abomination to schools and colleges as part of some "curriculum". That's equivalent to brain-raping kids in my book.
I fail to see how refactoring to Typescript is a negative thing. It outputs beautiful Javascript. So now, they have Typescript which helps them immensely while developing, plus they have a better version of the Javascript code they started with.
I actually visited the VS Code team at Microsoft a few weeks ago for a product-research day where they brought in developers from small teams from around the US. I had heard that this was the plan, and I'm excited to see that it has since happened. They showed some compelling features (still not-yet released) that I think would bring this well-beyond a simple Atom competitor. Once they bring the debugging and linting features to other languages (Python, Ruby, Go), I think this won't just be seen in the same category as Atom.
They acutally demoed Go debugging in the Connect conference keynote today [1], together with the open-source announcement. It has been implemented as part of an extension written by someone inside of Microsoft, if I remember correctly (support for extensions was also announced).
The Go extension is also available as an open source project, at https://github.com/Microsoft/vscode-go. We've integrated a number of tools built by the Go community, including the Delve debugger, and we are contributing to these projects. We plan on adding other languages as well, including Python - but if you're interested in building extensions for other languages, we'd like to hear from you.
Awesome! Last time I tried VSC it had no gofmt-on-save functionality which I consider mandatory. Now that it does have that and much more, I'm very much looking forward to trying it again.
It's being auto updated on a monthly cadence - not too different from Chrome. Some releases are big, some are small. I wouldn't write off a project that has a team that's set up to do that.
I would be pretty very interested in Ruby support. One reason I think it would be especially valuable for Ruby is that a lot of introductory programming happens in Ruby and currently the defacto suggestion is sublime. As great as sublime is, installing packages can be challenging. Having debugger, linting, and auto complete support out of the box would be huge.
I'm curious to hear how you're supporting these features. I personally don't know much about VC.
The Go debugging integration with Visual Studio Code is built on top of the Delve debugger, but exposed through the integrated debugging UX of VS Code. We're working with the Delve developers on a few things to help make this experience great - including Windows support (https://github.com/derekparker/delve/pull/276).
I've been thinking for a while that what Go needs to become more widely used is an IDE with debugger. I'm numb (with a grin on my face) that it's coming from Microsoft.
I've read they're beta testing Go on Azure. Another good thing for sure.
I didn't know this existed so I can't answer you question. I've been using Sublime and print statements for a few years now. I actually gave up looking an IDE with integrated debugger.
I already use VS Code for Python scripts. Even without the lint feature I enjoy the experience. Although before that I was primarily using Notepad++ for Python. Good to know it's on the horizon, though.
Micah! I sat next to you on the bus that morning on the way to campus.
I knew after we left that day that Microsoft was on the right track, but with all the announcements today they've really shown that they're committed to cross platform tools.
That's a plus in my books! I've tried all of the popular highly-rated IDEs and keep coming back to emacs. VS Code is the first Windows editor that I've used that I don't hate.
I actually feel quite conflicted. Right now, my favourite dev machine is my Surface 3 non-pro. I use VS Code for local development, and SSH to a tmuxed emacs session on the beefy Linux box at home. My whole life I've generally hated Windows, but since Git for Windows includes bash, it's actually not a bad environment. CMake can target the Visual Studio compiler too, so cross-platform work is pretty smooth too.
The name of the "VS Code" product makes the title a little mis-leading. I thought the code for "Visual Studio" was open sourced. Turns out it's just this stripped down editor called "Visual Studio Code".
Microsoft have never been good at product naming. Just today they renamed 'Visual Studio Online' to 'Visual Studio Team Services' because people thought it was an online version of Visual Studio.
They need a VP of Product Names, someone that actually cares what their products are called. '.Net' for example is a stupid name because it is practically un-googleable.
I searched for ".net" (without quotes) in several search engines, some of which I have never used, and the first page is only results for Microsoft .Net.
Recently MS announced that the package manager they're building for Windows, until then code-named OneGet, had been christened.... PackageManagement. sigh
This reminds me of the early 2000s when .Net was still in development and nobody knew exactly what it was because Microsoft would never admit it was just a better Java.
When everybody was confused enough, they did the next logical thing, they peppered the .Net suffix to all their brands, that way they could tell the DoJ it was an integral part of all their products.
They quickly reverted everything when they realized what a cluster fuck they actually created. They kept the stupid name though.
For what it's worth, .NET was chosen at the peak of the .com boom, when Microsoft was trying to hide the fact that they were late to the party -- and COM was already taken. :)
- It draws comparisons to Visual Studio- even though Code isn't really an IDE (nor is it supposed to be)
- It's really bad for SEO, searching for "how to do X in Visual Studio Code" pulls hundreds of existing posts on how to do that thing in classic VS. That's going to disrupt developer experience for both VS and Code.
- It's confusing for developers wanting to download Code, or VS; too easy to mistake one for the other.
The SEO problem is a bad one, because it gets worse as each project gets older. I'd even be ok if it were MS Code or something, but VS Code is actually a bad name.
That's the entire idea behind the name. When you go to the website or start searching around for "Visual Studio Code" you quickly end up with links to Visual Studio (obviously) and Azure.
Make no mistake. Microsoft is not developing Visual Studio code out of the goodness of their hearts. This is a marketing strategy to get people to move to Azure.
Developing Code out of the goodness of their hearts? No. Developing Code as part of some convoluted marketing strategy that cannot be measured? Also no.
More likely they're developing Code to compete with Sublime Text and the like. They don't have a product in that market and Microsoft's strategy is what it's always been: gaining marketshare.
Microsoft's success is [now] defined by developers active on MS technology. It underlies the open-sourcing of technologies long held proprietary, as well as the responsiveness to developer feedback.
Long term, I suspect the theory is if MS has a majority stake in the developer market, it can start defining the technology the world runs on (again). Its more of a give-take relationship though, with MS devoting resources to the resources developers actually use.
Agreed. But it is not only open-sourcing their own technology, it's earning money off of other open source technologies (which is perfectly legitimate). Want to run Linux? Pay Microsoft. Want to run Redis? Pay Microsoft. Want to run the next great open source project which I will invent tomorrow in my basement which will go on to be used by millions of users? Pay Microsoft.
BTW it may sound like I'm being harsh on Microsoft but actually I think their strategy is brilliant. It legitimizes Open Source in every single way and shows the world that you can make money off of it - lots of money.
Open Source developers should be rejoicing now that they have been vindicated after so many years of not being taken seriously and even being called "Communists".
And I'm pretty sure the JS in the repo is all build files and libraries - e.g. the TS service is a huge chunk of built JS. The product is effectively 100% TS.
I'm praying that a vim mode will be released for VS Code soon. Visual Studio's VsVim is excellent, and a VSC plugin of equal capabilities would convince me to adopt VS Code for typescript development. Fingers crossed!
No modal/vim mode? (The Googles indicate "no".) I want to love you, Visual Studio Code, but that's a deal-breaker. Looks like the plug-in system is up, so maybe it'll come down the road.
Though it's probably my color-blind eyes, but I couldn't find a stock dark theme that worked for me (first time I've had that out-of-the-box problem).
So between not being able to read the text on the screen that well, and an input model that doesn't fit well with what I'm used to, I guess I'll come back in six months. :-)
EDIT: and no Java syntax highlighting? I understand that it's a beta/WIP, but really? ObjC seems to work okay.
Hmm, odd; I pulled up a random Java source file and it was a plain, single color. Not a biggie worth digging into because I don't see using VSC much in it's current state (20-some year vi/vim user here), and I (thankfully <g>) don't do much with Java. Thanks for hanging out and listening to our issues, though. :-)
This is pretty amazing from the company that was trying to kill Linux just a few years ago and is now adopting that mentality for developing and delivering software.
While I don't want to be negative; this and other recent moves by MS, seem to be an effort to lighten the overladen ship that is the MS super-tanker. Will moves like this prevent them from sinking? Personally, I switched away from MS products in 1996 and have never looked back, and this does make me wonder...
True, but the company is still schizophrenic, so I continue to be wary of them. While there have been many positive steps like this one, the other side of the company continues to double-down on the data collection and relationship with spy agencies.
In the end, I feel that this goes hand in hand with their efforts to make Azure a really good option for cloud deployments, and it is. They can make more money from people deploying to Azure if they can get the tooling as nice as possible.
402 comments
[ 2.5 ms ] story [ 284 ms ] threadSure, it works, but I wouldn't say it's something I like to use.
Personally the look at VS Code made me think it's an editor not an IDE but maybe that's changed.
Sublime is not on the verge of becoming an IDE, nor any of those other ones. There are way too many missing features and constructors for this to happen, and I also regularly use it and prefer it as my text editor.
I haven't used any of the VS products extensively but I know they have a good reputation. I hope Microsoft could make it amazing for all languages and all platforms. Sounds good to me! Please just make a reasonable replacement for Xcode! (Jetbrains is terrible)
They're slower, and some features don't quite work right all the time.
This kind of thing is not allowed in HN comments. Please post civilly and substantively or not at all.
https://news.ycombinator.com/newsguidelines.html
https://news.ycombinator.com/newswelcome.html
There are more than enough people who don't have the resources.
* Jank occurs frequently
* hidpi support until theoretically recently was only on the Mac
* it's too often indexing
* vim support is mediocre
* themes are terrible and require difficult ways of installing instead of centralizing and hosting
* too many tiny icons of poor design with no text unless you hover
* overall UX is terrible (why can't it be like someone Apple would design for consumers -- Xcode isn't their finest work but is better than the low bar of IntelliJ)
* font rendering is shit (blame Java)
* their iOS environment is such a shit show that it's not even funny, and only now they're opening Xcode for IB instead of having a decent replacement that can do story boards (does it even have swift 2.1 support?)
* many more issues but this is enough
I love some PyCharm. It's a wonderful piece of software. It is a little slow to start, and it is indeed heavy on memory, but RAM is cheap and I don't reboot hardly ever. It is 100% a first-class citizen on Linux.
I don't know why programmers have to deal with such shit tools. Everything is more/less the same since the 80s, with the exception of github, git, and lib centers like maven or pip. Otherwise the fundamental experience of text editors is the same, and even IDEs are more/less the same.
Meanwhile our interfaces have vastly improved otherwise. That's what I'm talking about. The bar should be higher than VS. The bar should be as high or higher than the iPhone itself.
TBH I have minor snags with 8.1 so I'm holding back there. However compared to Intellij where I had a paid license and they still replied with: "just buy the next version where it will be fixed" in the Netbeans community Geertjan replied personally and helped with the troubleshooting for my unpaid product.
I do more node these days, and so far I like VSC best of the editors I've tried.
MS, Apple and Android have no incentive to make your programs easily portable. They've gone to extreme lengths to make it hard.
https://hn.algolia.com/?query=author:dang%20shill&sort=byDat...
Also, I like the way it handles open files (they are held on a workspace area where you can discard changes) and it also come with git integration.
You can rely on plug-ins to do this kind of work on sublime, but you have to put a lot more effort in configuring it, whereas VSCode comes with better packages right off the box.
https://marketplace.visualstudio.com/#VSCode
[1]: https://code.visualstudio.com/Docs/editor/debugging
[1] https://marketplace.visualstudio.com/items/lukehoban.Go
When I first tried VS Code, the first thing that I noticed was how much better the performance was compared to Atom. From general snappiness of basic editing tasks to startup times to working with large files, VS Code simply outperformed Atom across the board according to my brief unscientific observations.
At the time, I ended up sticking with Atom mainly because VS Code wasn't open source and lacked extensions, but it looks like this release addresses both issues.
Well done, Microsoft. I'm definitely going to give VS Code another serious look and recommend other Atom users to do the same.
I've had a few ideas about little things to add to it, and having it open source makes that a possibility!
VS Code has a pretty simple auto-complete mechanism for C - pretty much, it will auto-complete words that have been used before in the current file. That works for me, because I generally write APIs that have simple interfaces with a... I'm not sure how to describe it, parameter ordering that I expect.
If you're working with a bunch of libraries where function signature completion would be useful, then maybe a more functional IDE is useful. OpenGL is an example that comes to mind... I have no idea off the top of my head what the parameter ordering for glTexSubImage2D is. Generally though, I personally prefer the delay when occasionally having to look up an API over the delay caused by using a heavy IDE. On non-Windows, I'm an emacs guy. I've tried Emacs-win32 and it just feels like a UFO on Windows.
To answer your question, I personally do use VS Code on Windows, even when I'm working with crazy APIs like OpenGL. It subjectively feels faster to me than Visual Studio or Eclipse, although that might just be in my head.
The intellisense feature (or whatever the Eclipse folks has called it) on Eclipse is pretty good if is able to resolve its indexing paths correctly. This is not always possible.
I also want Eclipse to be a lot faster. I come from a vim background, and Eclipse feels glacier.
I'm really surprised Windows isn't called Microsoft Operating System, or Operating System for short.
[1] https://en.wikipedia.org/wiki/86-DOS
[1] https://en.wikipedia.org/wiki/Muphry%27s_law
Brilliant idea. Why not go all the way and call it OS. We could then have OS 10 from MS and OS X from Apple!
Had the title been "Visual Studio Code is now open-source" it would've been more readable IMO.
It also helps to be familiar that VSC is a product.
Or, worse, just "SQL", resulting in people in some enterprise environments saying things like "Are you using Oracle or SQL?"
ETA: yes it has debuggers for some languages as well, though none that I am using at the moment.
https://marketplace.visualstudio.com/vscode/Debuggers
You can set breakpoints, check out the call stack, and inspect local variables.
Apart from an occasional restart required it has been pretty solid. Performance(autocompletion etc) is very good and for TypeScript development, VSCode is pretty feature complete...
- I like the 2-pane integrated Git panel.
A lot of people expect a "real IDE" to have a lot of fancy, specific, semi-proprietary features, but what I believe VSC is providing great editing capabilities and offloading everything else to good task managers (and now, extensions). A lot that you can do in "real IDEs" (like building your project) can be handled by Gulp, Grunt, or other runners in a more or less independent way. I actually prefer it this way now, regardless of the IDE I use - that allows my projects to be independent of the IDE.
To me, where VSC shines is really in editing comfort, be it with the super fast typing response (really!), or with the Git integration, or with how it handles work space for opened files. It looks like it is supposed to be uncomplicated.
How do you measure the typing response? Do you have a speed camera hooked up or something!?
I think they optimized the way code drawing is done in such a way that it just happens with the least amount of time possible between typing and drawing. The end result is the same as if you typed anywhere else, but because the response is cut by, say, 16ms, it just feels fast. I remember the first time I tried VSC - I almost felt like the letters where coming out from under the cursor ahead of time! It was a weird moment.
The counterpoint is IntelliJ. It's not a slow IDE (I used Eclipse before so that'd be unfair to say), but maybe it has a couple of frames too many before drawing what's typed, so it feels like it's lagging in comparison. Maybe why they're making it a point of future releases[1] to reduce any typing lag.
[1] http://blog.jetbrains.com/idea/2015/08/experimental-zero-lat...
I'm not properly coding in it yet.
But after using VS Code for a while now I'm pretty sure I'll keep using it, at least for Node.js development. The IntelliSense support through TypeScript definitions, the out-of-the-box support for what I consider essentials (linting, task running, emmett, etc.), and perhaps most importantly the built-in debugger make my life significantly easier.
I enjoyed working with node-inspector, but the debugging in VS Code is a lot more convenient (mostly).
To be fair, for non-node development I'd say VS Code is not yet good enough to replace Sublime Text, but that might change when enough plugins and features have been added.
What it boils down to for me is that VS Code somehow seems to be optimized exactly for my workflow. It doesn't have tons of buttons and interface elements that I don't need (as many IDE's do), and it isn't slow. But on the other hand it offers very sensible defaults that other editors such as Atom and Sublime don't have. On both those editors I've had some issues with setting up linting, debugging, IntelliSense, and a few misc. other things. The main reason for that, I suppose, is that they're all plugins developed by different people. I like how these just come with VS Code and work right away.
I'm rather baffled that I'm saying all this, considering my general aversion of using Microsoft products (even if this is based on the past). But it is what it is. VS Code is a huge timesaver for me, and (mostly) hits the sweet spot between plain, fast editor and IDE.
But please give me Vim support ASAP :).
The bad: they refactored it to TypeScript (from Javascript)
The ugly: the sole existence of TypeScript and some ES6 syntax is the monaco editor project and Visual Studio Online and Visual Studio Code is a fork of it.
You seems like I guy that's really pleasing to discuss programming languages with.
Visual Studio Code is not a fork of Visual Studio Online. Visual Studio Online (now Visual Studio Team Services) is not a text editor, it's an ALM system.
We refactored a JS SPA to TypeScript and couldn't be happier about it. So that 'bad' point is fixed.
They use TypeScript also for the TFS web interface, on premise and online and are very happy with the result. There an article on bharrys blog on MSDN about that. So that 'ugly' point is fixed.
Is there really anything bad about TypeScript?
[1] https://channel9.msdn.com/Events/Visual-Studio/Connect-event...
I'm curious to hear how you're supporting these features. I personally don't know much about VC.
I've read they're beta testing Go on Azure. Another good thing for sure.
I knew after we left that day that Microsoft was on the right track, but with all the announcements today they've really shown that they're committed to cross platform tools.
Yea, it seems that MSFT realizes the direction the industry is going and is catering to that.
Does anyone know if this will be ever be possible?
Feel the power of the Empire.
Linux - I am your father!
:-)
I actually feel quite conflicted. Right now, my favourite dev machine is my Surface 3 non-pro. I use VS Code for local development, and SSH to a tmuxed emacs session on the beefy Linux box at home. My whole life I've generally hated Windows, but since Git for Windows includes bash, it's actually not a bad environment. CMake can target the Visual Studio compiler too, so cross-platform work is pretty smooth too.
They need a VP of Product Names, someone that actually cares what their products are called. '.Net' for example is a stupid name because it is practically un-googleable.
When everybody was confused enough, they did the next logical thing, they peppered the .Net suffix to all their brands, that way they could tell the DoJ it was an integral part of all their products.
They quickly reverted everything when they realized what a cluster fuck they actually created. They kept the stupid name though.
- It draws comparisons to Visual Studio- even though Code isn't really an IDE (nor is it supposed to be)
- It's really bad for SEO, searching for "how to do X in Visual Studio Code" pulls hundreds of existing posts on how to do that thing in classic VS. That's going to disrupt developer experience for both VS and Code.
- It's confusing for developers wanting to download Code, or VS; too easy to mistake one for the other.
The SEO problem is a bad one, because it gets worse as each project gets older. I'd even be ok if it were MS Code or something, but VS Code is actually a bad name.
I haven't used the integrated debugger/runtime, but it seems to be going that way...
As a straight editor though, definitely more lightweight than any IDE I've used.
Make no mistake. Microsoft is not developing Visual Studio code out of the goodness of their hearts. This is a marketing strategy to get people to move to Azure.
More likely they're developing Code to compete with Sublime Text and the like. They don't have a product in that market and Microsoft's strategy is what it's always been: gaining marketshare.
Microsoft's success is [now] defined by developers active on MS technology. It underlies the open-sourcing of technologies long held proprietary, as well as the responsiveness to developer feedback.
Long term, I suspect the theory is if MS has a majority stake in the developer market, it can start defining the technology the world runs on (again). Its more of a give-take relationship though, with MS devoting resources to the resources developers actually use.
BTW it may sound like I'm being harsh on Microsoft but actually I think their strategy is brilliant. It legitimizes Open Source in every single way and shows the world that you can make money off of it - lots of money.
Open Source developers should be rejoicing now that they have been vindicated after so many years of not being taken seriously and even being called "Communists".
http://visualstudio.uservoice.com/forums/293070-visual-studi...
Same goes for reformat selected text (html/xml, etc)
Though it's probably my color-blind eyes, but I couldn't find a stock dark theme that worked for me (first time I've had that out-of-the-box problem).
So between not being able to read the text on the screen that well, and an input model that doesn't fit well with what I'm used to, I guess I'll come back in six months. :-)
EDIT: and no Java syntax highlighting? I understand that it's a beta/WIP, but really? ObjC seems to work okay.
We do actually have Java syntax highlighting today, though we don't have statement completion and other richer features for it yet.
I would prefer compat with the Atom Plugin API so I could just use that.
https://github.com/dotnet/roslyn
https://github.com/Microsoft/msbuild
https://github.com/Microsoft/msbuild
While I don't want to be negative; this and other recent moves by MS, seem to be an effort to lighten the overladen ship that is the MS super-tanker. Will moves like this prevent them from sinking? Personally, I switched away from MS products in 1996 and have never looked back, and this does make me wonder...