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
Or does VS Code have more VS-compatible integration options than I knew of, which you're going to use to port PTVS over?
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.
> 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?
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.
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.
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.
I shed a tear of joy when that finally happened.
Now if only I could have terminal-tabs powershell would be perfect.
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.
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.
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.
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.
> 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.
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. :)
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. :)
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.
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 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.
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. :)
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.
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.
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.
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
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.
This is not true, there was IE for several UNIX operating systems.
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.
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.
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.
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.
Atom, that he mentioned, as well as lots of other projects, were slow and bloated from the start.
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!
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.
I used to have Office 2013 installed on a Windows VM because 2011 on Mac was garbage.
IDEs are fine, but when you remove the need for an integrated debugger in favor of TDD the need for an IDE diminishes.
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.
"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.
Is this now standard practice?
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.
There are many ways to improve software that do not involve analyzing unwitting users, like making it clearly opt-in.
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.
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".
With respect to "exploit me", that was more in reference to not using an adblocker.
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'm really surprised Windows isn't called Microsoft Operating System, or 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!
Or, worse, just "SQL", resulting in people in some enterprise environments saying things like "Are you using Oracle or SQL?"
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.
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.
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.
MS, Apple and Android have no incentive to make your programs easily portable. They've gone to extreme lengths to make it hard.
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)
There are more than enough people who don't have the resources.
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.
* 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.
Sure, it works, but I wouldn't say it's something I like to use.
- 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.
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".
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.
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.
ETA: yes it has debuggers for some languages as well, though none that I am using at the moment.
You can set breakpoints, check out the call stack, and inspect local variables.
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 :).
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...
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 to reduce any typing lag.
- I like the 2-pane integrated Git panel.
I'm not properly coding in it yet.
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.
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.
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...
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.