Hacker News new | past | comments | ask | show | jobs | submit login
Visual Studio Code is now open source (visualstudio.com)
1325 points by BruceM on Nov 18, 2015 | hide | past | favorite | 391 comments



We've been asked this by a few people, so I figured this is a good place to respond:

Will PTVS (Python Tools for Visual Studio) come to VSCode?

The answer is YES! This will be a major focus next year. Expect full intellisense, debugging, profiling, pkg mgmt, unit test, virtual env, multiple interpreter, Jupyter, etc. support.

Disc: Python/R/Jupyter team lead

https://www.visualstudio.com/features/python-vs


A question: If I'm not mistaken, PTVS is basically a whole bunch of Visual Studio plugins, presumably not written in JavaScript. Since VS Code is a while different program made in a different language and a different UI framework, does this simply mean there will be a new bunch of py/r/jupy plugins for VS Code, accidentally made by the same team?

Or does VS Code have more VS-compatible integration options than I knew of, which you're going to use to port PTVS over?


Visual Studio Code has a very modular architecture. The tool itself is written in Node.JS and web technologies, on top of Electron, and most extensions have a Javascript component. But most of the language and debugging functionality is built as out-of-process components, which means that they can be built in any technology. For example, our Typescript and Node tools are built with Node; our .NET tools are built in .NET and native code; and most of the functionality of our Go extension is built (by the Go community) in Go.

PTVS is written in a combination of .NET and Python - but with CoreCLR available across all platforms, a lot of that code can be reused. The way they integrate into the tools may be different, but they can share a lot of common code.


Interesting. I have been looking for a good editor, I use Sublime now, but I want somethign a bit more modern.

> The tool itself is written in Node.JS and web technologies, on top of Electron

This is worrying. I think Atom is a really cool editor, and it seems to have come a long way, has a lot of great features and an awesome UI. However, it is buggy and slow as hell. It crashes and behaves unexpectedly, causing it to crash and either lose changes, or need to be restarted.

I try it once every few months, most recently this week. Does VS Code behave the same way? I copied a 1000 line JSON object into Atom yesterday, and it basically crashed, how do you find VS performance?


Ya, Electron != Atom. Grab Code and paste that giant JSON into Code and let us know how it goes.


visual studio code seems way faster, pasting the object was nearly instantaneous and it looks like it has a nice set of features. also, i feel i should add, i realize electron is independent of atom, however it was developed by a github engineer previously working on nodewebkit for the github texteditor called atom. it used to be called "Atom Shell" and is in the atom/electron repo. So I was curious if this was related to electron generally, or choices made in atom.


Electron was indeed originally called Atom Shell, and part of Atom. But it's a general purpose shell for cross-platform apps - it basically provides a native application shell hosting Chromium. And lots of apps - including many that aren't developer tools - are built on it. While VS Code uses Electron, and we contribute to it, we've made a lot of design choices differently from Atom in building the editor and rest of the product.


Code is definitely not Atom. You should give it a try. It's free.


My lay perspective is that it is apparently the other way around: It certainly appears that VS is increasingly "VS Code compatible". A lot of the extensions in the VS gallery have silently been working in more TS/JS code and even some of the "built-in" functionality relies on TS/JS code. (The Typescript compiler itself, of course, has always been self-hosted in VS. The DOM Explorer which can be used in webpage debugging and Cordova mobile remote debugging uses a bunch of Edge Dev Tools code much of which is also shared with VS Code as well. [Which is more reason the VS Code open source announcement is rather wild.])

It definitely would not surprise me if that's an intentional direction in VS and many more extensions and components will start to be built (or rewritten) for VS Code first as TS/JS and then "ported" to run in VS "proper". Of course, I certainly don't know anything of the matter for certain, this is just lay observation of trends I'm watching with interest in VS.


As a Python-lover: this is awesome. There is a need for something with good Python support in-between a full blown PyCharm and plain VIM


There are Jedi plugins for lots of editors - including Sublime & Atom: https://github.com/davidhalter/jedi


There are many others, of which Wing IDE[1] and Komodo[2] are probably the most well known. There's also a page[3] on the Python wiki listing a bunch more.

[1]: https://wingware.com/

[2]: http://komodoide.com/

[3]: https://wiki.python.org/moin/IntegratedDevelopmentEnvironmen...


Curious why PyCharm isn't an option. There is really no reason to not use it. The type completion / introspection is amazing, saving at least an _hour_ per day.


You may use Sublime Text with Anaconda plugin.


Sounds great. I hope you will take inspiration from Hydrogen (https://github.com/willwhitney/hydrogen) which has been the greatest benefit to my python coding in recent months.


Wow, I had somehow missed Hydrogen but that looks amazing. It will probably be what finally gets me to drop Sublime for Atom.


For those who want better Python highlighting in VSCode, we've just published MagicPython: https://marketplace.visualstudio.com/items/magicstack.MagicP...


This is great news. Now all we need is a proper terminal in Windows that includes Python out of the box ;)


The terminal in windows 10 is much improved. Specifically copy and paste being less insane, and proper multi-line selection. I'm sure it is still deficient in many ways, but those were always the biggest irritations. No built-in python yet though.


The command prompt looks the same in Windows 8.1 and 10 to me. What terminal are you talking about?


He might be referring to powershell ... I never use CMD anymore.

I first started using it a few years back because it uses 'ls' instead of 'dir' for a directory list. Over time I've learned more and more about how its improved over CMD... and it has gotten even better in windows 10.

May not quite be 100% as good as terminal on OSX but it really is very good.

Funny annecdote. I was at a clojure meetup last night tapping away on my windows 10 laptop and the developer behind me said "is that Ubuntu?" I told him that it was W10 and he said "wow, I guess I might finally have to admit that windows doesn't look terrible anymore"

I felt like that was pretty high praise given the audience.


Even cmd is much improved in win 10. Text reflow, free zize windows, sane selection, etc. But nothing can make up for the lack of built-in, out-of-the-box UNIX utilities like cat, grep and the works.


My "workaround" for that is to install git-scm https://git-scm.com/ and select "yes" at the install Unix tools prompt.

I am not certain that it is perfect and you're 100% right that it's not "native" but it might help ease your pain a little.


Don't forget that text automatically reflows when you resize.

I shed a tear of joy when that finally happened.

Now if only I could have terminal-tabs powershell would be perfect.


Console2 and ConEmu both provide really good, feature rich wrappers for terminals, including first and foremost tabs.


You can have terminal tabs in PowerShell ISE, with Ctrl+T or File -> New PowerShell Tab.


PowerShell + Set-PSReadline = awesome terminal!


That's awesome PTVS is fantastic.


Sort of off-topic, but could you please fix the telemetry reporting? https://code.visualstudio.com/Docs/supporting/FAQ

The current configuration setting is in the app folder which means that it gets deleted after updates.

It's kind of not nice to use opt-out instead of opt-in for this. Even if it's a product management requirement, surely it could me made so that the setting is saved across updates, making VSCode feel less like annoy-o-ware.


I hope Visual D will also come to VSCode.


This would be awesome! The one other thing I'd love to see is the docker + python support.


This is fantastic news. The main two IDE's I always use are PTVS and PyCharm... This is definitely great to see a full Python environment for VSCode.


I wasn't sure what to expect from VSC, especially going into it I was worried that it would just be a MS-branded, bloated version of an already-slow Atom.

My expectations were completely wrong, though. VSC is not bloated or slow. It's well-made. There aren't really any negative MS-flavored conventions as far as I can tell. This isn't MS Office (which I guess has its place but has gone off the deep end, IMHO). It looks like it's on a path towards becoming a pretty powerful tool, more than just a text editor, and more than just a clone of Atom.

The MS branding will unfortunately keep people away that like to judge books by their cover. But that says more about their own problems and unwillingness than it does about MS.

I don't understand why we have to throw ourselves into brand "camps" and defend them to the death. It's dumb. I like Linux, I use an assortment of operating systems depending on my needs, and I don't see any reason why a decent effort/product can't be appreciated, no matter what company produces it.


Only losing market share and power has made Microsoft produce software with reasonable quality, flexibility, and interoperability.

A lot of the credit for that goes to Apple's crazy climb in popularity. But at least some of it also goes to technologists involved in networking, the internet, and the web, many of whom decided never to deal with any Microsoft stuff ever again. If you knew the frustration of Microsoft's combination of lock-in and incompetence, back in 1995 - 2006 (my entire computing life at the time!) you wouldn't blame them.


>Only losing market share and power has made Microsoft produce software with reasonable quality, flexibility, and interoperability.

And that, in my opinion, is the way it's supposed to work. Vendor's products gettin' ya down? Not being responsive to your needs and lacking in quality? Move elsewhere! Money talks.

A good kick in the ass can be a humbling experience, and a good opportunity for the open-minded. It was a long time in coming, but I'm glad to see MS is starting to take some of these lessons to heart. If they keep it up with actions such as these, there's a good chance they'll stand to be rewarded for it.


> > Only losing market share and power has made Microsoft produce software with reasonable quality, flexibility, and interoperability.

> And that, in my opinion, is the way it's supposed to work. Vendor's products gettin' ya down? Not being responsive to your needs and lacking in quality? Move elsewhere! Money talks.

Exactly. That's what got Apple where they are today as well. Pre-Rhapsody, MacOS was largely a joke in the developer community, but that changed drastically when they ditched the archaic MacOS for the Nextstep derived OSX. When that happened, suddenly there was a reasonable alternative to Windows or the various Unices out there. It seems entirely natural that, like the shift that pushed people towards Apple, we would see similar shifts in other OS's that would entice people to think more broadly than seeing Apple as the dominant desirable dev platform. That seems like a healthy thing with respect to avoiding a stagnant monoculture.


> If they keep it up with actions such as these, there's a good chance they'll stand to be rewarded for it.

And -quickly enough- they'll go back to being the old MSFT we all knew and loathed from top to bottom, and these olive branches will vanish quicker than a pile of shaved ice on a summer day. For many of us, this isn't our first rodeo. :)


Honest question: how many people from the embrace-extend-extinguish era are still at Microsoft? Once they are all gone, and the market has shifted several times since then, you would think that era would be over for them. Or, is it just deeply engrained in their corporate culture, which lives in longer than any individual employee? I kind of doubt it but it's interesting to think about.


The computer technology world has changed a lot since then, and I expect that intelligent people at Microsoft know that the old ways won't work again.


> ...I expect that intelligent people at Microsoft know that the old ways won't work again [because] ... [t]he computer technology world has changed a lot since then ...

I'm not nearly as confident as you seem to be.

People with purchasing power can still be swayed by FUD. Less-technical bosses are not-infrequently swayed by marketing copy from glossy mags and giveaways from salesman rather than sound technical advice from technical staff. It's abundantly clear that shadowy back-room deals and front-room exclusionary deals based on tremendous price cuts on widgets that have a near-zero unit cost are still tremendously effective.

I expect that within five or ten years, after this new crop of programmers have happily been making Microsoft software a critical part of their workflow, Microsoft will return to its traditional MO.

As I said earlier, for many of us this isn't our first rodeo, and isn't the first time Microsoft has played the nice guy for a little while. :)


I disagree. Before the game plan was to keep everyone in windows. Now with iOS and android killing things it's no longer about just windows. Satya's vision is very different from Ballmer. The big money makers are now shifting to Azure. This means if open sourcing tools that didn't make money will attract more Devs to azure. That is very valuable in the long term in business sense. This also gives Microsoft a good rep and gives a broader reach.


> I disagree. Before the game plan was to keep everyone in windows.

Three things:

1) That describes a corporate goal, not a set of behaviors used to achieve it. There are many companies out there who also have the goal of "Keep everyone using our software.". Not many of them have utilized such destructive techniques as Microsoft has in pursuit of that goal.

2) Your second sentence would be more correctly spelt "Microsoft's game plan is to keep everyone using Microsoft software, wherever possible.". When you spell it that way, it becomes clear that the big picture actually hasn't changed. Windows was (and remains) a big part of that game plan, but for the past decade or two, it would be hard for an honest observer to make the claim that Microsoft was only interested in keeping folks on Windows.

3) Many of us have seen Microsoft play nice with the wider community. They never play nice for very long. The more cynical old-timers would say that this "play nice" phase is -itself- a part of the EEE strategy.


I really dislike this line of thinking. It assumes things can't change. Microsoft as a corporation is just a brand, the people have come and gone and with it much of the ideology and decision making thought.

People that think this way have a ridiculous amount of brand loyalty which really means nothing. The people change behind the brand all the time. It's clear that MSFT is changing. It's clear from the people that I've talked to that work there. It's clear from the messaging by senior management.


> I really dislike this line of thinking. It assumes things can't change.

I never said that things can't change. I've seen many companies change over the years. However, Microsoft's anti-competitive and underhanded practices have been extremely profitable for them and have -all things considered- resulted in very few negative consequences.

> It's clear [that MSFT is changing] from the people that I've talked to that work there. It's clear from the messaging by senior management.

Both Plus and Hangouts were supposed to be bold new directions for Google. At the time, it was abundantly clear from talking to most people who worked there and senior management that everyone was totally stoked about these new platforms and that this was the direction that the company was going to go for the foreseeable future.

But here we are -four years later- and Hangouts is -all things considered- a steaming pile and everyone in the company knows it, Google is slowly but steadily disentangling itself from Plus (and Plus from its services), and Vivek Gundotra -the former head of Plus- quietly "left the company" several years past.

As you say, companies change.

> It's clear that MSFT is changing.

This isn't the first time that it has been "clear" that Microsoft was changing. In the past it turned out to be a temporary change in order to gain reputation, or new users for their platforms or... Like I said before, "Playing the nice guy" has -historically- been just a small -and fleeting- phase of Microsoft's dirty market domination strategies.

Given the enormous amount of harm Microsoft has done to the industry over the past several decades, (and given Microsoft's historical propensity for lock-in and intentionally high switching costs) I'm going to wait for a very long time before seriously entertaining the claims that Microsoft has actually changed.


i would bet money most of the powerful stock holders that forced those practices are still around.


I would bet money that stockholders didn't force those practices. Those anti-competitive, industry-harming practices were (and are) used because they secure large profits for the company in exchange for relatively little effort.


At least now we'll have a decent editor we can continue to run ourselves when that happens. :)


Why would they go back? That strategy seemed promising in the beginning but clearly it caused massive damage to their reputation and simply doesn't work in the long term.


I think that strategy reaped them billions, and continues to do so (the Office franchise is still a money printing press).


Yep.

It's abundantly clear that their slimeball strategies worked very well for them for at least twenty years. In the computing industry, twenty years is a very long time. :)


It's interesting that you don't make assumptions about future "evil" behaviour of their competition.


Why is it interesting? The topic is Microsoft and Microsoft's past and present behavior.

While it is next to impossible to truly consider a topic in a vacuum, it is very common practice to focus on a particular single topic or set of topics when engaging in discussion. This practice tends to promote productive discussion by allowing the conversants to momentarily disregard issues that are largely or completely unrelated to the topic at hand.


So, where's the criteria how the subject is constrained? Why are we talking about Microsoft and not the particular responsible Microsoft business division?


> Why are we talking about Microsoft and not the particular responsible Microsoft business division?

Because -as the US DoJ inquiry showed us- Microsoft's anti-competitive behavior has been a strategy that was pursued because of directives from C-level employees.

Historically, it hasn't been low-to-mid-level minions spontaneously deciding to do great violence to the computer industry, it has been directives (either express or implied) from the top that caused them to behave in this way.


I remember it very differently.

It's particularly interesting that you start with 1995, since that's the year of Bill Gates's "Tidal Wave" memo. A large chunk of MS suddenly devoted itself to getting Really Good At The Internet, and within a few months produced the best web browser on the market (IE 3, the first mainstream browser to implement CSS) and the best JVM (far faster than Sun's own at the time). IE continued to be the best browser until Firefox came out. (Yes, you can argue for Seamonkey, but it took years for it to be usably stable.) Every version of IE up to and including 6.0 was more standards-compliant than the equivalent Netscape release.

I was doing all kinds of web development on both Linux and Windows NT back then. I never got used to Windows for web hosting, but I far preferred developing against MS SQL Server than any other DB, due to its features and documentation.


I'll admit I didn't really get started until 2000, and I'd also push the end-range to around 2009. And I did use the Mozilla Suite back then (pre Seamonkey naming).

The main problem with IE, regardless of how good it is, is that it is windows only. This was true of all of Microsoft's stuff (particularly crappy mac versions don't count) (I also wasn't a fan of Mac OS 9 ... but there was bsd and linux for a number of years by then...) They used their own formats, which were not publicly documented or even really designed. If you had to use any single Microsoft thing, you practically had to use it all. Samba and later OpenOffice changed the situation but were really a lot of reverse-engineering and bug-for-bug-compatibility work, and of course Microsoft kept moving the goalposts with new versions and new bugs.

The resentment comes from the lock-in. You had to pay a lot of money and deal with licenses (or pirate and deal with cracks) just to experiment. You had to deal with the surprisingly flaky file sharing and dhcp client etc. You had to deal with the fact that there wasn't a good terminal or shell, that the compiler was not trivial to download and install and invoke from a script, etc. If you have the freedom to choose the "convenience" of the Microsoft user-oriented products or not, it's not such a big deal that Microsoft everything sucked for networking related development. But if the lock-in gets you somehow, you really resent it.

EDIT: and I almost forgot! microsoft calling linux a "cancer", funding lawsuits over linux kernel code, trying to make it harder for linux to support ACPI based systems - more underhanded lock-in to their crap


Uptill IE 5, it was was there for Mac, and Linux was never mainstream till the time, for it to be evil to not support it.


> pre Seamonkey naming

Maybe you predate me but when I jumped on the Mozilla bandwagon at Gecko 0.7.1 the internal name for the suite was Seamonkey. It was only after Firefox that the group maintaining the suite started using the internal name as the public branding.


> The main problem with IE, regardless of how good it is, is that it is windows only.

This is not true, there was IE for several UNIX operating systems.


While I certainly shared your frustration, I do think that MS had some extremely talented folks there.

Some of the brightest people I have ever had the pleasure of working with came from MS.

Incompetence was far from the problem. Priorities out of order would be one diagnosis.


I'm not sure about the branding angle. For the longest time, MS was its own worst enemy brand-wise. They appear to be doing the necessary changes to win about people who like good tools, though. I'm not complaining.


Possibly after being bitten by a brand people are leery of products under that brand name?

Disclaimer: no hate for MS nor VS. I'm sure its a fine tool. I just don't need it and probably won't use it.


Incidental to your point but I wouldn't characterise Office as bloated or slow. Word, Excel, and PPT 2016 are all super snappy.


I'm pretty sure kup0 was referring to how Office has generally been in past versions. The latest version of Office are much better made and performant for the same reasons why VSC is well-made and performant: Microsoft has started taking these user experience issues a lot more seriously.


The Mac versions are still pretty terrible and are missing loads of features.


> But that says more about their own problems and unwillingness than it does about MS.

Not sure I agree. In a lot of cases they earned this reputation by leaving developers SOL when they abandoned software or APIs. Personally I don't really have a problem with MS, but they're unpopular around where I work for this reason.


Bloat and jankyness seems to be a function of project age. This is a relatively greenfield project, so it's pretty nice for now.

MS Office is ancient as far as software projects go. The only things that are older at this point is UNIX, Oracle bank/govt mainframes.


>Bloat and jankyness seems to be a function of project age.

Atom, that he mentioned, as well as lots of other projects, were slow and bloated from the start.


That's why I worry about atom in 10 years from now...


Ancient?? I think you don't know the history.

MS Office started in 1990.

Current technologies that are older include...

- Unix and most of its tool system (including emacs, vi, grep, awk, tar, X-windows, etc)

- Most fundamental networking technologies (tcp-ip, ftp, email, etc)

- Several game franchises including Mario, Final Fantasy, Frogger, SimCity, Wolfenstein (you'll be more likely to recognize its descendants Doom and Quake)

- Many popular relational databases. Whether you use MS SQL, PostgreSQL, Oracle, those are built on code bases that have been continuously developed from before 1990. (Albeit with name changes. MS SQL started with Sybase's code, PostgreSQL was developed from Ingress.)

- Around half of the top 20 programming languages in use today, including languages such as C, C++, Python and Objective-C.

There is a LOT more history to the software you use every day than you recognize!


I'm talking more codebase wise, not protocols, languages, specifications and franchises.

For example, Wii U mario games aren't using code from the original 8bit mario games. Same with most SMTP servers today. SMTP is old, the current implementations in use most of the time are not that old. I think many unix tools in use today like grep are probably not using the original grep implementations either.

So I covered most of the list with UNIX (OSes), Oracle (DBs) and mainframes. I did miss compilers, vim & emacs but even that is being replaced by guys like LLVM.


You checked the latest Office 2015? I think it improved quite a bit, at least on OSX.


Office 2016. It's absolutely awesome. As native as it gets IMO. It's clear MS is treating OS X with respect.

I used to have Office 2013 installed on a Windows VM because 2011 on Mac was garbage.


How nice the surface doesn't say anything about the internals, developer experience or the crazy shit they do for backwards compatibility.


By going to VS Code they're jettisoning themselves from the .sln (solution file), .csproj (C# project file), MS Build world. Project management and build files are being pushed into external utilities. This is kind of the way a lot of the rest the world (ruby/node/python) is going.

IDEs are fine, but when you remove the need for an integrated debugger in favor of TDD the need for an IDE diminishes.


I would hardly say that TDD removes the need for an integrated debugger. Being able to inspect the state of a system the instant a test fails sounds mighty useful to me.

Also, software builds being driven by an external tool has been common since at least make(1), so it's hardly a ruby/node/python thing.


I've been the new guy on teams that did not use the ide for debugging (insanity in the Java world, right?) and was perceived to be a super star because of my ability to trouble shoot and drill straight down to root causes. Learn and use your tools people!


But VS Code does have integrated debugging...


whole heartedly agree


FYI, it seems that Visual Studio sends a lot of data about your usage back to Microsoft.

"This includes information about how you use the products and services, such as the features you use, the web pages you visit, and the search terms you enter." (among other things such as name & device identifiers https://www.visualstudio.com/en-us/dn948229)

You can disable this...but it requires you to re-disable it on every product update. https://code.visualstudio.com/Docs/supporting/FAQ#_how-to-di...

Is this now standard practice?


> the web pages you visit, and the search terms you enter

Is this for real? I had no option to disable it when installing VS Code. And it only said usage statistics! Nothing about recording my web-surf and search.


I doubt it tracks pages you visit in other applications…


Its for "Visual Studio", not "Visual Studio Code"


This has been on Debian, Netbeans, IntelliJ, and other editors / software / OS since as far back as I can remember. Not sure if it's standard, so long as it's optional I don't mind it.


Yeah, I first noticed this on desktop software in the early 2000s. Knowing how people are using your products is pretty critical for software companies to improve.


And yet it clearly violates our expectations of privacy. You don't think clicking a menu on a desktop app will send a report back to Microsoft HQ.

There are many ways to improve software that do not involve analyzing unwitting users, like making it clearly opt-in.


If it were opt-in, I would absolutely opt-into it. I want the companies who make products I use/consume to succeed - that's why I never install ad-block. I watch tons of shows on YouTube and niche video sites, and I know the ads are what help these companies stay alive.

While I know installing ad-block is still opt-out (not -in), it's still a choice of a click that I'm making. I want to support you, but I don't want the choice of privacy made for me.


By doing that, you're implicitly saying "exploit me". You are helping them succeed, but only in the way that they want. I don't think subjecting yourself to such torture, when it will only bring more of the same, is a good idea.


You post on Hacker News, which is a marketing vehicle for YCombinator. Your content helps make it more attractive to prospective startup founders, which lets YCombinator reach their target market with virtually no marketing expense.

Why is sending usage data to Microsoft saying "exploit me", but contributing free marketing to YCombinator is something you do daily?

The world doesn't have to operate on zero-sum principles. There's nothing wrong with helping someone or something out "just because".


One big difference is that I'm fully in control of what I post on HN, whereas "usage data" is far less well-defined. I can literally see every single byte that gets sent to HN, but "usage data" is so vague (and likely intentionally so) that it could mean just about anything you do with the product.

With respect to "exploit me", that was more in reference to not using an adblocker.


Debian shares all of my web or visits and searches with... whom, exactly? And I have to disable this on every update? Really?


I thought it was just what packages you installed though, not sure about web visits, that sounds more like Ubuntu itself maybe?


Debians popcon (Popularity Contest) which tracked package installs was always opt-in as far as I can remember.

Ubuntu sent Unity dash searches to the web (with an opt-out) for a few releases, but that is back to opt-in now thankfully. As far as I know Ubuntu never tracked any other web traffic.


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.


> Operating System for short.

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!


What about IOS being used both by Apple and Cisco?


OS/2 is about to come back. any day now.


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.


> I really hate how MS names things. Microsoft SQL Server, or as most people call it SQL Server.

Or, worse, just "SQL", resulting in people in some enterprise environments saying things like "Are you using Oracle or SQL?"


Slap those people until they start saying MS-SQL, that's what I've always heard where I work.


You mean like Microsoft Disk Operating System from back in the day?


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

[1] https://en.wikipedia.org/wiki/86-DOS


I wouldn't comment on any other word, but it's "pedant". :)


haha Muphry's Law[1] strikes again!

[1] https://en.wikipedia.org/wiki/Muphry%27s_law


No, he literally swallowed a pendant and it's doing odd things to his self-control.


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.


Ahhh back when the acronym WIMP used to mean something :)


I partially blame the title. Why does it capitalize normal words in addition to the product name?

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.


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 :-)


Yes, its misleading for sure. I think `Visual Studio Code` has like 1% of features of full blown Visual Studio?


You can't compare it like that. It's not a light version, it's an editor.


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.


Well, yes it's a completely different bit of software.


I had no idea until I read your comment. I overlooked "Code". I though Visual Studio is open-sourced and got excited :(


You're going to hate JavaScript then.


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).

[1] https://channel9.msdn.com/Events/Visual-Studio/Connect-event...


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.


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.


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.


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've used that occasionally, but have found myself falling back to vi. I'm interested to try the Go plugin and see how useful it is


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.


Thats right!

Yea, it seems that MSFT realizes the direction the industry is going and is catering to that.


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.


VSC has revolutionized how I code on Linux. Thank you, Microsoft!


That's a combination of words I never thought I'd see together.


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.


The cross-platform aspect is very nice IMO. Being able to feel at home on all 3 major platforms is great!


That requires proprietary libraries your users can't install.

MS, Apple and Android have no incentive to make your programs easily portable. They've gone to extreme lengths to make it hard.


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.


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.


[flagged]


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.


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.


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)


Jetbrains IDEs are highly regarded and run very well under Linux.


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.


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).


Remember, not everyone has the cash to shell out for a shiny new Macbook (or an IT department willing to do so!).

There are more than enough people who don't have the resources.


My pc handles it very well and it costed me 500$. Later RAM upgrade included.


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.


I love Jetbrains products, but under Linux they are nowhere near as stable as VS is on Windows, or even Jetbrains apps on Windows.

They're slower, and some features don't quite work right all the time.


I've used IntelliJ on Linux, Windows and Mac for many years and haven't encountered any of the issues you're describing.


Worked extensively with phpstorm both on windows and linux (mint). Works perfectly on both platforms with no difference.


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.


> What? Stop lying

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


It's just my experience, and I've had the same experience through multiple machines.


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?)

* many more issues but this is enough


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.


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.


Jetbrains really is great. It's like Eclipse, without the bugs and faster. For Python, nothing beats Wings IDE. Both proprietary tho.


I have the same question, what makes wings better than pycharm?


You prefer Wings over PyCharm?


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.


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?


Eclipse eclipse's JetBrains's products that much is a fact and it far exceeds Visual Studio still.


Really? I found it buggy and slow to the point of non-usability.


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.


IntelliJ! (and PyCharm, WebStorm, etc.)


I just switched as the typescript plugin is slow for the idea family. The code ide is FAST


IntelliJ's new subscription platform is really really bad/misguided/tone-deaf


Did you see the updated version with the fallback licences? seems very fair to me.


KDevelop is quite good.


Others have mentioned the heavyweights, so thought I'd like to mention a lightweight favorite of mine that is getting better every release: Geany.


DrRacket and Zerobrane are both extremely high-quality, though not general-purpose.


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?


I love kdevelop


eclipse doesn't suit your needs?


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)


(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.


[flagged]


That's an argument that was good for upvotes on Slashdot, but not on HN.

https://hn.algolia.com/?query=author:dang%20shill&sort=byDat...


Shameless self-plug: we also released (and open-sourced) a significantly more powerful PowerShell plugin for VS Code today[1][2] as well as a set of .NET and JSON APIs, the PowerShell Editor Services[3], that sits behind it. We welcome contributions and feedback, and feel free to hit up the developer David Wilson, @daviwil, or me, @joeyaiello.

[1] http://blogs.msdn.com/b/powershell/archive/2015/11/17/announ...

[2] https://github.com/PowerShell/vscode-powershell

[3] http://github.com/PowerShell/PowerShellEditorServices


Nice self-plug I like POSH scripts for various things and I like VSCode so I will look at it!


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.


Ya, it is just and editor. I have been using it on OSX for a while now and I like it's simplicity. The git integration is also very nice.

ETA: yes it has debuggers for some languages as well, though none that I am using at the moment.


One of my top requests to their team is to support rebasing (for squashing and avoiding merge commits)


Thanks Micah, we just added it to the roadmap at https://github.com/Microsoft/vscode/wiki/Roadmap.


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's my daily driver. It's the best TypeScript editor on OSX, and that's why I use it for.


I use it purely for its Git integration. Nothing fancy, just implemented very well.


In addition to debugging NodeJS projects, there is also work on integration with Chrome and Go.

https://marketplace.visualstudio.com/vscode/Debuggers

You can set breakpoints, check out the call stack, and inspect local variables.


It's pretty good, at least on OS X. Clean, fast, doesn't suck down your battery like Atom.


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.

But please give me Vim support ASAP :).


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.


> super fast typing response

How do you measure the typing response? Do you have a speed camera hooked up or something!?


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.

[1] http://blog.jetbrains.com/idea/2015/08/experimental-zero-lat...


- The UI is really conservative with vertical space, giving the feeling that the editor is really getting out of your way.

- I like the 2-pane integrated Git panel.


I use VS primarily but use code a couple times a day for "quick edits" (mainly to web.Config files and the like)

I'm not properly coding in it yet.


Currently testing the Golang tools, quite happy so far. Previously used sublime text


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.


Thanks. VIM mode is high on our roadmap.

We do actually have Java syntax highlighting today, though we don't have statement completion and other richer features for it yet.


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. :-)


Hopefully neovim will allow native integration of vim down the line. Vim + plugins is just too good to migrate away from.


We're working on one! Head on here if you'd like to contribute: https://github.com/VSCodeVim/Vim


Agreed -- Vim-mode is my #1 feature ask.

I would prefer compat with the Atom Plugin API so I could just use that.


There absolutely is Java syntax highlighting, I just tried it out of the box.


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.


>TIME-SENSITIVE SOFTWARE. The software will stop running on 31/12/2016 (day/month/year). You will not receive any other notice. You may not be able to access data used with the software when it stops running.

What does this mean. Should I expect a working VCS instead of this one in 2017?

Is not a condition I like in the terms of my main tool.


I didn't see that, but maybe the "stop working" part could be commented out in a branch.


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.


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.

[1]: https://code.visualstudio.com/Docs/editor/debugging


The new Go extension [1] supports debugging as well. Just starting to play with it, but so far it's giving me a reason to start using VS Code.

[1] https://marketplace.visualstudio.com/items/lukehoban.Go


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.


Ruby please, general Ruby (& Rails) support!


Long time Atom user here as well.

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...).


This is my experience as well. I am really impressed at how VS Code as no problem working with large and minified files.


It really depends on how large is considered large, since for me it crashes when opening a 60MB XML file...


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.


You can use Split Editor and Markdown Preview to have live preview while editing.


The most recent release of VS Code includes a new `Markdown: Open Preview to the Side` command (cmd+k, v) which does this with a single command.


I don't see how that's different from atom.


Yep! That's how I do it.


Atom also has live Markdown preview (ctrl-shift-M)


When writing extensions, you get full TypeScript typings for everything.


You can set breakpoints for your NodeJS code, be it TypeScript or vanilla JavaScript.


I tried it out but too but Atom pulled me back because of its plugins and linters


VSCode is extensible now -- they are called extensions.

https://marketplace.visualstudio.com/#VSCode


Interesting! I see there's a LaTeX highlighter but it seems there's no compiling add-on :(


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:

   {
    "version": "0.1.0",
    "command": "texify",
    "isShellCommand": true,
    "args": ["-p","${file}"],
    "isBuildCommand": true,
    "showOutput": "always"
   }


That's cool!

However, anyone read the privacy policy?

https://www.visualstudio.com/en-us/dn948229


Unsurprisingly, Visual Studio Code is mostly (62% at the moment) written in TypeScript!


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.


Dev here. Yup, pretty much everything is TypeScript.


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!


What are your thoughts on VS Code against other IDE for C/C++ (ie eclipse, code blocks)


My thoughts on that are... atypical.

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.


Thanks for the follow up. I shall look it up.

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'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.


The only thing I wish VS Code had is "Compiling" out of the box. I know you guys want to make an amazing experience for each language, but one of my favorite editors is Geany because no matter the language or platform when I hit build / compile it usually just works. Hoping now that it's gone open source we will see minor changes like compiling / building cross platform at least. Other than that it's a great editor, definitely simple enough and wonderful to work with.


Have you looked at VS Code's Task Running [1] support yet? It takes a small bit of config work up front and I've not used Geany so I'm not sure if it directly compares, but I've certainly found it to be useful.

[1] https://code.visualstudio.com/Docs/editor/tasks


I hope this move paves the way so that VSCode will now have the Code Collapse feature which has been requested tremendously.

http://visualstudio.uservoice.com/forums/293070-visual-studi...


Thanks. It's definitely high-up on our roadmap.


Agreed, that's about the only feature I REALLY miss from other editors.. though with extension support in this release, I'm sure it'll come soon.

Same goes for reformat selected text (html/xml, etc)


What I find quite odd is Microsoft rarely seems to show up on front page of HN, then all of a sudden in concert all of the top links on front page are Microsoft related.

It's not that they're not doing good things to help fix their culture, but I find it almost annoying. It seems almost impossible to me that all this promotion is not coming from them directly..


It's Microsoft Connect 2015 : http://blogs.msdn.com/b/visualstudio/archive/2015/10/19/micr...

The same happens with other vendors when they have their own conventions to be fair.


There was a conference this morning. They announced a bunch of interesting newsworthy things within an hour.

https://channel9.msdn.com/


Thanks for pointing that out. I do notice that the stories that do crop up to the top generally have to do with Microsoft open sourcing software, so in that sense the stories don't seem all that out of line with what I generally expect to see on front page of HN. But being a developer who remembers old Microsoft it's hard to accept them back into my life even if it is just a few links on a forum :)

The conference does add clarity. I'm surprised I hadn't heard about it before now.

EDIT: Just visited the channel9 live broadcast. "Scott Guthrie's Keynote" showed less than 700 views. The other keynote I looked at had less than 150 views, and the final keynote less than 100 views. I say good for Microsoft on all the changes they're making for the better, but the amount of promotion vs the amount of perceived interest do not appear to align when it comes to Microsoft and their work toward bringing developers into their ecosystem.


I could be wrong, but I believe that number is only for the views on the recorded sessions. Probably most people saw it live.


It looks like the stats may not have been accumulating earlier. I just saw that the numbers are updated and the main keynote shows just over 6000 views and the other two keynotes are hovering around 1000 views.

By contrast I was curious to see what Google I/O keynote stats show on YouTube.

https://www.youtube.com/watch?v=7V-fIGMDsmE

It appears that graph starts from day one at over 800,000 views (not sure if that number includes live broadcast stats).


I'm not sure what you trying to prove here. The Google I/O is more comparable with Microsoft BUILD conference.


Not trying to prove anything. Just reflecting on how apparently inconsequential Microsoft has become. Or perhaps it's more about how consequential everyone else has become.


It’s not uncommon for big tech companies to unload a bunch of news at once. Look how much Apple shows up during WWDC.


And Amazon during re:Invent.


And Google during I/O.


Maybe, or maybe they had product announcements. Happens with Apple all the time: Release a new iPhone, iOS, some sort of consumer app, and a cloud-based service.

If you're gonna strike the iron, do it when it's hot!


The project has come a long way,since the early days of the Monaco code editor. Really happy seeing it finally come to the open!! :D


Want support for Ruby and/or Rails? Go cast your votes here http://visualstudio.uservoice.com/forums/121579-visual-studi...


How does this compare to Brackets? http://brackets.io Anyone has experience?


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!


+1 for VsVim. The vim-ish plugin for eclipse is a joke in comparison.


Really happy to hear that. I've been using it over Sublime.


Met with a couple of folks from the SQL Server team at RubyConf. They really just blended in - they weren't even wearing Microsoft shirts or anything. The seemed genuinely concerned about the cross-platform story, and went so far as recommending a "competing" product for SQL Server tooling on OSX.


They broadcasted the open-sourcing live on Channel 9. They sure know how to get programming nerds excited. :)


I wonder how VSC works with node APIs?

One thing I really dislike about Atom is it's complete reliance on and lack of abstraction over the node APIs, making it nearly impossible to port to run hosted (which really confuses me, as I'd think that Github would love to have a great online editor integrated right into repos).

If VSC only uses async APIs, it might be easier to get running in a browser.

Also, Atom's security model is very weak. Extensions have direct access to node APIs (as do iframes! but that's an Electron issue). Sandboxing extensions would be a huge deal for me.


VSC is possibly the new Emacs and JavaScript is the new Lisp.

Eh, could be worse.


For those who are, like me, ignorant: VS Code is a source code editor...

I find it funny that nowhere on the official page (code.visualstudio.com) does it say that it's an editor.


Well, because it is an editor with refactoring ability, debugger integration, proper autocomplete and typechecking, linting, etc.

At that point it’s probably as much an IDE as NetBeans is an IDE. It’s not nearly as powerful as normal VS, but still.


Slightly bizarre that the requirements[1] imply that it supports OS X and Linux but not Windows 7. I understand that they're under the cosh to get people to upgrade, but still.

[1] https://code.visualstudio.com/Docs/supporting/requirements


It is weird indeed. And it work quite well on Windows 7.


Why they are doing this? I mean why they are open sourceing? They have open sourced .NET and for example they have support for Cordova.


I didn't realize code completion / autocompletion / IntelliSense for JavaScript NPM modules required TSD. I followed the steps in this guide[0] and it seems to work fine.

[0] https://code.visualstudio.com/Docs/runtimes/nodejs


As there seem to be some of the involved developers hanging around here:

Thank you and great job on this!

VS Code is from my perspective the most responsive web-based editor. The extension story looks sane and well-designed (+1 for things like async completions wich are e.g. missing in Sublime and pluggable debuggers!). And getting this delivered as open source software is just great!


I love this new Microsoft.


"New Microsoft"? That's an overstatement.


How is the support for C#? Does it support debugging web apps on Mac OS X? Is there any basic refactoring for it?


C# is currently supported, with refactoring/navigation support.

See

- https://code.visualstudio.com/docs/languages/overview

- https://code.visualstudio.com/docs/languages/csharp


Not from MS, but a good IDE is MonoDevelop


I was more wondering about VSCode.


VSCode is not an IDE just yet


I usually use a minGW environment when I have to use a Windows box - which gives me GDB, GCC, ld etc. I've found it can be really frustrating to set up properly. I really miss Emacs. This sounds like it could be missing piece. How is its support for C/C++ ?


Looks like only highlighting support. I would love to know if there are plans to improve C++ support.


Feels like a nicely responsive and down-to-earth editor. It'd be great with a color scheme that emphasized your own variables and fields. It's not that helpful to draw attention to constants, keywords and arbitrary non-reserved identifiers like `document`.


Why did MS fork atom.io again? Why didn't they do Facebook-style and just add modules that supported their stuff like how react ecosystem is now supported? Atom was slow but is picking up speed now and would be nice if it was simply aligned.


It's not a fork of atom.io. It's completely independent project which started as web browser based editor. Electron(http://electron.atom.io/) was used to convert that web based editor into a standalone application.


Nobody forks atom here, this project have miles better future.


Does it support fuzzy matching filenames yet? That was one big missing feature for me


Just updated and it's still not there. It's killing me as well.


Damn. We've seen a lot of new editors that mimic sublime text and then fail to do some of the most baseline, important features that make it good. Atom didn't have pane resizing for over a year (and frankly, it's just too damn slow for a smooth editor experience).

I don't hate sublime. The plugin ecosystem is mature, and you're just writing python when you do write it. Is it necessarily the easiest api or easiest to test? Naw. But sublime gets most of the basics very right, and the rest is reasonable enough.


A good editor does not need to be open source to have a good eco-system based on plugins (like sublime). The MIT license seems to be friendly who would fork to make a more specific editor for some special language/purpose.


I like it, but the themes section of the marketplace should probably have previews.


I just looked at Github, and most of the source is written by Typescript. I wonder what kind of GUI framework they are using? This application is cross platform. How do they make it??


Node-WebKit now called nw I think. It's simply a web browser application hosted in a desktop shell with some node services in the background.


Thanks nojvek. I didn't know Node-Webkit. It looks cool!


The only feature that still keeps me from using it is that the debugger won't work when the app to debug is running inside a docker container.

Does anyone know if this will be ever be possible?


I liked Visual Studio when I used it for a university mandated project years ago. If Microsoft had open sourced this a decade ago, I might actually be using it today.


Just FYI, this is not Visual Studio. This is Visual Studio Code which is an Atom like simple text editor built with web technologies. Specifically it uses Monaco, Microsoft's online code editor and Electron, GitHub's cross platform UI platform that was developed as part of Atom. Great text editor IMHO, but not Visual Studio.


Good to know! Microsoft moving towards OpenSource community, early i didn't see much. I've been using it since 2009. They did massive improvements.


Seems like an Atom fork. And the amount of people who are hardcore Linux user but have yet to find a better IDE than vsc on this thread.


Atom and VS Code are built on top of Electron.

http://electron.atom.io/


My good sir, this is way better than Atom, trust me!


I don't see why I should


Good, maybe now I can get code-folding.


How does this compare to Atom? I've not kept up with either very well. I still just use Sublime.


Never thought I'd run Visual Studio on my linux machine!!! Thank you Microsoft!


Not to nitpick, but VSCode is not the same as Visual Studio


Yes, it is visual studio code, technically it isn't visual studio but still.


But does it have vi bindings?



Visual Studio Code does not yet support JSX, nor properly supports ES6, so it's currently unusable to modern Javascript devs. Which is a shame, because it has a lot of potential! I'll be watching this closely to see when it becomes usable in my workflow.


Dev on the Code team here. Not true. Both JSX (http://i.imgur.com/01pAAsl.png & http://i.imgur.com/mRhOx8M.png) and ES6 (http://i.imgur.com/UOurihn.png) are supported in all their glory. Note that if you are editing an ES6 project, you need to create a jsconfig.json file with at least these contents, in order to let the language services know you are doing ES6:

  {
  	"compilerOptions": {
  		"target": "ES6"
  	}
  }


Hi! I'm having trouble with both of these.

https://github.com/Microsoft/vscode/issues/95 https://github.com/Microsoft/vscode/issues/81

Also can you comment on why a jsconfig.json file is needed, as opposed to some in-editor setting, or reading from the config files the user already has installed, like an .eslintrc?


Do you just come out of the woodwork to blame users and then ignore their requests for help?


I think it was terseness rather than rudeness. But of course I can't be 100% sure.


No, it does properly support both of those and I've been happily using those features in VS Code for a while now. It might actually be the best editor for JSX.


Even better: it also supports TSX (http://tinyurl.com/okgagvs)


I haven't tried in plain JavaScript, but I know you can if you use TypeScript. This has been working for me for awhile now.


VS code is more or less just a 'pretty' text editor.


My Python colleagues would still rather stay with PyCharm..


Feel the Force, Open Source!!!


after the update I can no longer format xml files using alt+shift+f


was expecting msft open sourced the compiler, linker, msbuild, etc




http://microsoft.github.io has a giant list of things worth exploring.


Interesting!!!


Nice One


what about visual basic for dos?


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".


Visual Studio Code is a bad name.

- 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".


Long term, I would expect Azure tooling to make an appearance in VSC.


As for being an IDE, it's headed that way... there's debugger integration for node and go, while python (from upstream comments) is being worked on.

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.


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.


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.


Recently MS announced that the package manager they're building for Windows, until then code-named OneGet, had been christened.... PackageManagement. sigh


Imagine writing that in the console everytime... why not 'pm'? :(


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.


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. :)


Code is capitalised, that's the giveaway.


Yes, but in titles most words are capitalized. If you look on the visualstudio.com page that is the case, though they're not very consistent.


Welcome to the dark side.

Feel the power of the Empire.

Linux - I am your father!

:-)


We detached this subthread from https://news.ycombinator.com/item?id=10588469 and marked it off-topic.


Nooooooooooooooooooooooooooo



Why negative votes for this? This is such a weird site. :(


Well... Sinclair is the real father! xD


Darth Sinous ooOOOOooooooOOO


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.


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.


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.


Right. It's a good thing IMO. Even for pure Javascript, VSCode has some of the best code-completion I've seen (outside of Visual Studio).


Do you remember CoffeeScript?


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.


"was"? What happened to Coffeescript, is it dead now?


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.


Well, no, but it has developed a taste for brains.


"Hey, I created this program in Java!" "Do you remember C++?"

You seems like I guy that's really pleasing to discuss programming languages with.


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.

Is there really anything bad about TypeScript?


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.


Is it me, or is that a Macintosh screenshot of the github page?


The target market for this product will either not care what platform the screenshots of the cross platform tool are taken on, or they'll get a negative impression if it is not OS X. Therefore, OS X.


The software is cross-platform. I've only used it on Windows (I have emacs on OSX and Linux) but I have Mac friends who rave about how smooth it is there too.


It might be strange, but many of the engineers on the VS Code team do their development work on a Mac or Linux PC.


Not only that, but the demo video they show on their webpage is recorded on OSX.


Nice move MS. Too bad it ~10 years too late


Who cares, VS Code is nothing more than a fancy text editor. Not and IDE.


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.


It is an IDE. It has debugging with breakpoints, autocompletion, and smart code navigation like navigate to source.


It's funny how on the intro video [1] on the Visual Studio Code homepage [2], the presenter is using apple macbook right in front of the Microsoft logo in the background :)

[1] - http://imgur.com/Nc82DB5 [2] - https://code.visualstudio.com/


Apple devs using MS products is a big win for MS.


Don't a lot of advanced folks avoid reliance on "visual paint" style programming?

Do folks like Linus and John Carmack crank up Eclipse and use wizards?

[ EDIT: I've obviously offended some Visual programming fans. I apologize. ]


VSCode has no visual editor. Carmack has used Visual Studio for a long time.

2 references from the top of google results. There are many more out there.

https://twitter.com/id_aa_carmack/status/21187594150

http://www.gamasutra.com/view/news/126638/Following_Acquisit...


That's not what Visual Studio is about.


You do know that the name is mostly an artifact from a previous age and the GUI designer in VS is like 5% of a very powerful IDE, right?


Carmack now uses Dr Racket.


Link?


I'm sure it's not the only language Carmack is using but...

https://mobile.twitter.com/ID_AA_Carmack/status/577877590070...


I think you're right. MS Visual Racket will replace command line C for games and operating systems.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: