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.
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.
[3]: https://wiki.python.org/moin/IntegratedDevelopmentEnvironmen...
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.
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.
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!
IDEs are fine, but when you remove the need for an integrated debugger in favor of TDD the need for an IDE diminishes.
"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?
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'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.
[1] https://channel9.msdn.com/Events/Visual-Studio/Connect-event...
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.
[1] http://blogs.msdn.com/b/powershell/archive/2015/11/17/announ...
ETA: yes it has debuggers for some languages as well, though none that I am using at the moment.
https://marketplace.visualstudio.com/vscode/Debuggers
You can set breakpoints, check out the call stack, and inspect local variables.
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 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.
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...
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.
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.
However, anyone read the privacy policy?
I've had a few ideas about little things to add to it, and having it open source makes that a possibility!
VS Code has a pretty simple auto-complete mechanism for C - pretty much, it will auto-complete words that have been used before in the current file. That works for me, because I generally write APIs that have simple interfaces with a... I'm not sure how to describe it, parameter ordering that I expect.
If you're working with a bunch of libraries where function signature completion would be useful, then maybe a more functional IDE is useful. OpenGL is an example that comes to mind... I have no idea off the top of my head what the parameter ordering for glTexSubImage2D is. Generally though, I personally prefer the delay when occasionally having to look up an API over the delay caused by using a heavy IDE. On non-Windows, I'm an emacs guy. I've tried Emacs-win32 and it just feels like a UFO on Windows.
To answer your question, I personally do use VS Code on Windows, even when I'm working with crazy APIs like OpenGL. It subjectively feels faster to me than Visual Studio or Eclipse, although that might just be in my head.
http://visualstudio.uservoice.com/forums/293070-visual-studi...
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..
The same happens with other vendors when they have their own conventions to be fair.
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.
If you're gonna strike the iron, do it when it's hot!
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.
Eh, could be worse.
I find it funny that nowhere on the official page (code.visualstudio.com) does it say that it's an editor.
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.
[1] https://code.visualstudio.com/Docs/supporting/requirements
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!
See
Does anyone know if this will be ever be possible?
{
"compilerOptions": {
"target": "ES6"
}
}- 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.
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.
Feel the power of the Empire.
Linux - I am your father!
:-)
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.
Visual Studio Code is not a fork of Visual Studio Online. Visual Studio Online (now Visual Studio Team Services) is not a text editor, it's an ALM system.
We refactored a JS SPA to TypeScript and couldn't be happier about it. So that 'bad' point is fixed.
They use TypeScript also for the TFS web interface, on premise and online and are very happy with the result. There an article on bharrys blog on MSDN about that. So that 'ugly' point is fixed.
Is there really anything bad about TypeScript?
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.
[1] - http://imgur.com/Nc82DB5 [2] - https://code.visualstudio.com/
Do folks like Linus and John Carmack crank up Eclipse and use wizards?
[ EDIT: I've obviously offended some Visual programming fans. I apologize. ]
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...