Quantcast
Channel: Visual Studio Blog
Viewing all 1076 articles
Browse latest View live

Developing for iOS using the Tools for Apache Cordova

$
0
0

Most developers are already familiar with Xamarin and C++ for iOS development, but Visual Studio 2015 also delivers a quick and easy way for developers to build iOS, Android, and Windows apps using JavaScript. The Tools for Apache Cordova are ideal for projects where speed-to-market, maintainability, and code re-use are paramount. Apache Cordova’s web standards based approach combined with its flexible plugin model allows you to tap into a large and growing client-side web development community. Open source resources are plentiful at all layers of the stack – not just for accessing native APIs via Cordova plugins, but also through web frameworks like AngularJS, Ionic, and Onsen UI. Better still, Cordova’s build system is Node.js based which makes it easy to take advantage of a growing number of Node.js based command line tools like the popular Gulp task runner. The end result is you can mix the best of the web with native capabilities to bring your apps to the next level in a non-proprietary and platform independent way.

Over the last year, we have been working on a number of different areas to improve the overall developer experience when using Apache Cordova for building iOS apps. In this post we’ll summarize the great features already available and highlight some areas you’ll see even more improvements in the coming months.

Ionic and Monaca Templates

The key to every great app is a great UI. As we highlighted a few weeks ago, Monaca and Ionic are two increasingly popular UI frameworks designed to quickly bring web based mobile apps to the next level. Apps built using each framework look and feel great on iOS. Best of all, Monica’s Onsen UI provides powerful theming features and Ionic has SASS based theming capabilities that you can use to give your app either an iOS look and feel or a branded platform-agnostic one as you see fit.

There are now Visual Studio templates for both Ionic and Monaca’s Onsen UI that can help you get up and running quickly.

CordovaPost1

Visual Studio iOS Build and Debug

The Tools for Apache Cordova use a remote agent running on OSX to build, simulate, run, and debug an iOS version of your app right from Visual Studio. You can install this agent on your own machine, use a “pay as you go” or managed plan in MacInCloud, or dedicated cloud capacity in MacInCloud or MacStadium. These cloud providers have the advantage of being total Mac replacements that give you access to not only iOS builds, but also Xcode and all the tools necessary to get you going with iOS development including using the iOS Simulator, accessing and generating signing certificates, and publishing your app using Application Loader.

After installing and configuring the remote agent on your OSX machine, select either the “Remote Device” or “Simulator -*” debug targets in Visual Studio to automatically build, deploy, launch, and attach the JavaScript Debugger, DOM Explorer, and JavaScript Console to your running app. The agent automatically acquires the version of Cordova needed to build your app so you don’t need to take any additional steps if you switch Cordova versions. You can then inspect and edit the live DOM, diagnose layout, trace the matching CSS rules for each element, set breakpoints in code, evaluate JavaScript expressions, and view console.* messages, to name a few.

CordovaPost2

iOS and Visual Studio Online

The Tools for Apache Cordova are designed to work with a number of different team build / CI systems since the projects they create are standard Apache Cordova Command Line interface (CLI) projects. Team Foundation Services (TFS) 2015 provides a new cross-platform agent that enables TFS to build directly on OSX. The end result is that TFS and Visual Studio Online (VSO) have support for building iOS apps using Cordova or even native Xcode projects for the first time.

The VSO cross-platform agent is Node.js based and uses a simple HTTPS connection to your TFS 2015 server or Visual Studio Online to fetch work. As a result, your OSX machine only needs to have HTTP access to your TFS/VSO instance but not the other way around. This makes setup and configuration quite simple and means that dedicated capacity on your own internal network, MacInCloud, or MacStadium can be directly integrated with Visual Studio Online with no additional network configuration!

Better still, you can try out these new cross-platform and iOS build capabilities today for free in Visual Studio Online by simply clicking on the BUILD.PREVIEW menu option and starting up an agent on your own Mac hardware or dedicated capacity in MacInCloud, MacStadium, or another hosting provider.

clip_image005

clip_image006

Sign up for VSO today and see our TFS 2015 and VSO tutorial for details on getting your Visual Studio 2015 Cordova project up and running in with these new capabilities. You can expect an even more streamlined approach in the coming months.

Microsoft App and Dev Services

In addition to these IDE and VSO features, iOS is also a first-class citizen in a number of other Microsoft app and developer services.

Microsoft Intune

We’ve already covered the capabilities that Visual Studio Online can bring to the table for iOS app development but it’s also worth noting that you can also deploy the apps you’ve built internally using Microsoft Intune.

Intune provides a complete Mobile Device Management solution designed to help you secure your iOS, Android, Windows, and Windows Phone devices in an enterprise environment. It has full support for managing iOS devices and provides both an internal app store for employee self-service and the ability to manage and restrict apps on iOS devices. The end result is that you can upload apps you’ve built using Tools for Apache Cordova and deploy them to any number of managed devices.

Intune also has an increasing number of Mobile Application Management features designed to provide you with the ability for even more granular control of security at the individual app level. An app wrapping tool for iOS is already available and you can expect even more exciting features here in the coming months.

Microsoft App Services

Microsoft provides a number of powerful services that developers can use to accelerate building their apps. These services are not just limited to Microsoft devices. Apache Cordova projects targeting iOS can take advantage of these services through a set of Cordova plugins contributed by Microsoft.

Here’s a small sample of Microsoft service-related plugins available for you to try out today:

  • Azure Mobile Services – The Azure team has released an Azure Mobile Services plugin with full iOS support. You can quickly configure your app to use it from Visual Studio simply by right-clicking on your project and selecting “Add > Connected Service…”
  • Active Directory – The Active Directory team recently announced an ADAL and AD Graph plugin for Cordova 5.0.0 that makes it simple to use Active Directory via a native iOS library.
  • Office 365 – There is now both an Outlook Services and File / Discovery Services plugin for Cordova that enables your app to target these services from iOS and other platforms using a single JavaScript code base.
  • Application Insights – The Application Insights team has recently released an Application Insights plugin designed to allow you to collect and analyze usage data from your Cordova app.

While some of these plugins are still early in their development lifecycle, you can expect continued investment from Microsoft in open source and the Apache Cordova community. Our engineering team is committed to ensuring Cordova is fast, reliable, and easily connected to essential app and dev services.

Command Line Interoperability and Visual Studio Code

Last, but not least, we’ve taken steps to make Visual Studio 2015 “command line interoperable.” Developers working in teams using both Mac and Windows can open and edit the same Cordova project using their code editor of choice. By simply installing the correct version of the Apache Cordova Command Line Interface (CLI), you can grab your project’s source code out of a Git repository and continue to build your app on OSX. We’ve created a Cordova plugin to help deal with a few Visual Studio specific features and you can expect much more in the coming months.

What this means is you can now have team members on Windows and OSX developing against the same code base thanks to Visual Studio and Visual Studio Code. Both Visual Studio and Visual Studio Code now reflect the file system directly, so editing your Cordova project in Code is as simple as selecting “File > Open Folder” and selecting your Cordova project folder. You can even use the powerful Gulp task runner and its associated plugins both from within Visual Studio using the Task Runner Explorer and from the command line when using VS Code.

For iOS, being able to edit your project on OSX means you can troubleshoot particularly sticky problems by opening up a native iOS project generated by the “cordova prepare ios” Cordova CLI command from in the “platforms/ios” folder in Xcode – either on own Mac or using a cloud based service. You can then make your edits, build using the Cordova CLI or other command line tools, and then commit your changes back into source control. Developers using Visual Studio or Windows can simply pull down these changes locally when you are done without taking any additional steps.

We’ve got more plans coming to make this workflow even better, so stay tuned!

Summary

It has been a busy year since we first shared a Technology Preview of the Tools for Apache Cordova at TechEd in June 2014. With Visual Studio 2015, we are finally ready to declare official support thanks to the early adopters and the fantastic feedback we’ve received from the Visual Studio and Cordova communities. Thank you! We hope these iOS related features resonate with you and look forward to making things even better in the coming months.

If you haven’t tried out Tools for Apache Cordova yet, simply download Visual Studio 2015 Community or Enterprise RC and be sure to select the “Tools for Apache Cordova” option when installing.

We’re always interested in your feedback, so please contact us via UserVoice, Send-a-smile, Twitter, StackOverflow, or email. If you’d like to contribute to our documentation, you can see this blog post on contributing.

clip_image008

 

Chuck Lantz, Program Manager, Visual Studio Client Tools Team

@chuxel

Chuck spent over 15 years as developer, advocate, and architect in a variety of mid and large scale enterprise IT shops. He brought his passion for app development to Microsoft in 2012 and is currently focused on cross-platform mobile app development.


JavaScript Editor Improvements in Visual Studio 2015

$
0
0

JavaScript is an important technology for development on many different platforms, including web, mobile app, and server programming. In Visual Studio 2013 we already support IntelliSense, Go to Definition, colorization, and formatting of JavaScript source, along with several other features. We’ve carried these forward into Visual Studio 2015 and we’ve improved the experience for JavaScript developers by focusing on three key areas:

  1. Improving the development experience when using popular JavaScript libraries
  2. Adding support for new JavaScript ECMAScript 2015 (also known as ES2015 and formerly ES6) language and web browser APIs
  3. Increasing your productivity in complex JavaScript code bases

Each of these areas was chosen based on feedback we heard on UserVoice, through social media, via the send-a-smile/frown feature in Visual Studio, and from many direct discussions we’ve had with developers like you.

In this post, I’ll highlight the new features of the JavaScript editor for each of these areas. You can take advantage of these features in all JavaScript projects supported in Visual Studio.s

Support for popular JavaScript Libraries

AngularJS 1.x and RequireJS support

By default, Visual Studio 2015 supports the very popular AngularJS and RequireJS libraries. Previously on this blog we’ve discussed the setup required when using Visual Studio 2013 with both of these libraries (using AngularJS in VS, using RequireJS in VS). In Visual Studio 2015, the support is baked in, with no additional setup steps required.

Whenever you reference the angular.js (or angular.min.js) library in your code, editor automatically provides IntelliSense, Go to Definition, and navigation bar support:

IntellISense for AngularJS

IntelliSense support for Angular 1.3, showing suggestions for the routeProvider service

Similarly, RequireJS IntelliSense and navigation support are automatically enabled when you bring in the require.js library. To customize RequireJS support, see Customizing IntelliSense in RequireJS.

IntelliSense suggestions for a module referenced using RequireJS

IntelliSense suggestions for a module referenced using RequireJS

JSDoc documentation comments

Documentation comments are a great tool for providing detailed information about APIs in your application. They can also help you guide Visual Studio to provide better IntelliSense suggestions as you write code. In Visual Studio 2015, the editor now understands JSDoc-style documentation comments and can use them to improve your coding experience. JSDoc has become the unofficial standard for JavaScript comments on the web, and they’re used in libraries like Angular and Ember. Here’s a quick example using these comments and showing IntelliSense tooltip support to document a getPhotos() function.

JSDoc comments displayed in IntelliSense tool tips

JSDoc comments displayed in IntelliSense tool tips

When you reference parameter types in comments (such as Array, above) you can use standard built-in JavaScript types and objects, such as String, Number, or Array. You can also define a custom object, which is useful for documenting parameters with custom properties, such as configuration settings. In the example below, you can see suggestions for an options object that may be passed to the savePhoto() function.

Documenting configuration objects using JSDoc

Documenting configuration objects using JSDoc

In addition to JSDoc comments, XML-style documentation comments continue to be supported as they were in Visual Studio 2013. A full list of the JSDoc tags supported by the editor may be found on MSDN.

New language and browser features

As language standards and web APIs evolve, the JavaScript editor is also updated to keep pace. In this release we introduce further support for new language features in the ES2015 standard (formerly known as ES6) and a set of new DOM APIs. These updates match the same features found in the recently announced Microsoft Edge web browser.

ECMAScript 2015 (formerly ECMAScript 6) support

Like the Microsoft Edge browser, which now supports a large set of ES2015 features, the Visual Studio JavaScript editor also supports a majority of ES2015Specifically, Visual Studio 2015 provides support for:

This allows you to now write code such as the following:

Using new language features in ES2015

Using new language features in ES2015

Notice the class keyword used for the LayoutManager class, a template string for the message variable, and finally an arrow function used as the second argument to the addEventListener API to define a function callback. To learn more, check out the set of learning materials being collected over in Eric Douglas’ ES6 Learning repository on GitHub or review the specification for the ES2015 version of JavaScript.

You may have noticed that some ES2015 features aren't supported yet, such as modules. We’ve heard from you that support for the latest ES2015 language features is important and we’re looking to support the full ES2015 specification as soon as possible.

IntelliSense for new web browser APIs

Visual Studio 2015 also provides IntelliSense support for new web browser APIs available in Microsoft Edge. Here are a few API highlights:

You can see a full list of APIs supported by visiting the http://status.modern.ie website and filtering to APIs available in the preview release.

Working in complex JavaScript code

Finally, we’ve heard from developers that when working in complex JavaScript source it can be difficult to find your way through the code. There are two editor features that have been added to help you discover important comments and APIs in your JavaScript source so you can more easily navigate through your code.

Task list

You can use the Visual Studio task list to keep track of // TODO, // HACK, // UNDONE, or custom comment tokens in your source. This can help to surface technical debt and possible issues in your code.

Viewing TODO and HACK comments in the Task List

Viewing TODO and HACK comments in JavaScript source, using the Task List

Navigation bar

The navigation bar is enabled for the JavaScript editor with support for the common design patterns and libraries used by JavaScript developers. This helps you jump to identifiers you’re frequently using in your code and reduces the time you have to spend visually scanning your source files.

In the following example you can see how the editor understands ECMAScript 5 source:

Using the navigation bar to browse JavaScript source, written using ES5

Using the navigation bar to browse JavaScript source, written using ES5

And in another example, you can see that the navigation bar supports the new ES2015 class keyword (which greatly simplifies the equivalent prototype syntax in the previous example):

Using the navigation bar to browse JavaScript source, written using ES2015

Using the navigation bar to browse JavaScript source, written using ES2015

Looking ahead

In addition to the features highlighted here, there are a variety of bug fixes, performance improvements, and other updates to help give you a first class JavaScript editor experience. Going forward, we’ll continue to expand the editor to help build large scale JavaScript solutions.

We also know how important it is to you to have an editor that supports the latest changes in the JavaScript language, such as ES2015 modules and generators, and we’re working to make sure Visual Studio has great support for them.

To try these features, download Visual Studio 2015 today. If you’re an open source developer, student, hobbyist, or work in a small professional team, check out the free Visual Studio 2015 Community edition. Let us know how well the JavaScript editor works for you by sending us a smile or frown. You can also add your votes for future JavaScript tooling on our UserVoice site.

Jordan MatthiesenJordan Matthiesen– Program Manager, Visual Studio JavaScript tools team
@JMatthiesen

Jordan has been at Microsoft for 3 years, working on JavaScript tooling for web and mobile application developers. Prior to this, he worked for 14 years developing web applications and products using ASP.NET/C#, HTML, CSS, and lots and lots of JavaScript.

Top News from May 2015

$
0
0

Hello everyone! Every month I share some top stories from the previous month. Here’s an overview of some top posts in May.

Top Trending Content for May 2015

.NET at Build 2015. On the .NET blog, Richard Lander shared 2 interesting posts. .NET Announcements at Build 2015 is an excellent one-stop shop for everything you need to know about the latest updates in .NET core, .NET Execution Environment (DNX), .NET languages, ASP.NET, Entity framework, and all of the improvements in Visual Studio for .NET. Targeting the .NET framework 4.6 RC has details about the latest version of the .NET Framework and the new APIs it exposes. This post builds up from how to target a .NET framework, to how .NET framework 4.6 can be targeted in VS 2013 as well as VS 2012. Targeting a .NET framework

Visual Studio Code Update 1. Visual Studio Code is a new, free, cross-platform code editor that was announced during Build 2015. Check out the VS Code product page to learn about all you can achieve using VS code. VS Code is expanding rapidly in its support for various languages and tools to make it easier for you to use. The first update for Visual Studio Code was released with over 300 improvements and bug fixes. Have you been thinking of using Visual Studio Code with Angular, TypeScript. Or have you wondered how you can use it to build Mobile Hybrid apps? Look no further! Chris Dias talks about using Angular with VS code, and also has a post to get you started with building Mobile Hybrid Apps with VS Code and IonicJonathan Turner shares a quick walk-through for using TypeScript in Visual Studio Code,  and Sean McBreen shares information about VS Code and Docker. Keep an eye on the Visual Studio Code blog for more feature posts and upcoming updates.

Blend for Visual Studio 2015 RC. Visual Studio 2015 RC Blend got a major update with many new features and improvements. Kino Aguilar highlights some top features including: the new user interface tailored for XAML developers; Roslyn powered IntelliSense; and UI tools for XAML debugging. He also talks about how easy it is to navigate between designing in Blend vs. editing in Visual Studio using the new commands. Download Visual Studio 2015 RC to try the new Blend.New Blend in Visual Studio 2015

Bringing Clang to Windows. On the VC++ blog, Raman Sharma talks about how Clang is fast becoming the preferred C++ compiler for non-Windows platforms. To extend the various capabilities and benefits of using Clang, to the C++ developers building Windows apps, the team is working on an experimental implementation of Clang on Windows. Jim Radigan demonstrates this in his build talk on Compiling Objective-C. The Clang and LLVM community has provided packaged toolset builds for Windows that integrate very well with Visual Studio. This post talks about how we have built on top of this toolset to deliver additional capabilities like cross-platform development.

Introducing Visual Studio’s Network Tools. With the release of Visual Studio 2015 RC, a new network tool (part of the existing Performance and Diagnostics hub) was released. This tool helps you diagnose network related issues when building Windows apps across the Windows continuum from Windows Phone, to HoloLens, to Xbox. In his post introducing the VS network tool, Ruben Rios shows you how and where you’d use this tool, and details the different sections of this tool as well as the views of the network traffic it shows. He also shares how the default views have been built to maximize your productivity when using this tool. Network Tool Performance and Diagnostics Hub

7 cool features in Visual Studio Online. ALM rangers like Willy-P Schaub not only share their thoughts on the Visual Studio ALM Rangers blog, but also author e-books like Managing Agile Open-Source Software Projects with Visual Studio Online. Recently they published a post on the 7 cool features noticed in Visual Studio in the most recent update. This is a short and sweet post to get you up to speed on the top new features like the ability to fast track to your Kanban board or get straight to your code after creating a project. Visual indicators tell you which items on the board are managed by your or another team. The board itself can be easily customized, you can split columns into Doing and Done and easily specify Definition of Done for each column.

C# 7 Features. In this article, Mike James shares Mads Torgensen’s working list of features for C# 7; think of this as more of a wish list than a set of promises. Mike also provides some details on some of the features to give you a better idea of its capabilities, along with some good examples. Some items on the feature list are tuples, pattern matching, non-nullable references, using statements, and async/await. To give you a small view into what these features really mean, a tuple is a group of typed values that are gathered together for some temporary purpose, like a set of method parameters could be grouped into a tuple. Pattern matching allows for powerful conditionals based on the type of an expression. The features have been categorized into various buckets to facilitate discussion. Checkout the working list and Mike's blog post to see examples of these features in use. 

Building Mobile Apps with Ionic and Monaca. With Visual Studio Tools for Apache Cordova it is very easy to build an app targeting iOS, Android, and Windows. Kirupa Chinnathambi shares how the team took this a step further by collaborating with Ionic and Monaca to provide project templates within VS. These templates allow you to use Ionic or Onsen UI frameworks to build mobile apps right within Visual Studio.

JavaScript moves forward in Microsoft Edge. Brian Terlson from the Chakra team talks about the upcoming ECMAScript 6 (also known as ES2015) highlighting some key capabilities and the community excitement around it. He also talks about support for ES2015 features in Microsoft Edge and shows a compat table that compares various browsers’ compatibility against ES2015 features. Chakra-ES2015

Code Analyzers: Using Roslyn to analyze your code. Channel 9 has a lot of useful content under shows, series, blogs, events, etc. The particular video of interest is on the DevRadio blog where Jerry Nixon talks to Srivatsn Narayanan to discuss how you can use Roslyn to analyze and troubleshoot errors. The video starts off with Srivatsn giving an overview to explain Code Analyzers and how they are useful. It then deep dives into use cases, where and how you can use code analyzers, which languages it applies to, etc.

 

To see what else I’ve shared so far, check out top news from February 2015, top news from March 2015, top news from April 2015.

Thanks you for reading!

 

imageRadhika Tadinada, Program Manager, Visual Studio 
@RadhikaTadinada

Radhika has been at Microsoft for almost 4 years. She first started off as a Program Manager on the Visual Studio Platform team where she helped build IDE features. She is currently with the Customer team and manages the Visual Studio blog. 

Share Your Open Source Extension on the Visual Studio Gallery!

$
0
0

In a recent post on Extending Visual Studio 2015 we shared how easy it is to create Visual Studio extensions. We also shared links to our improved docs and to our presence on GitHub. Continuing in this vein of improvements to make it super easy to write and share extensions, I’d like to share the improved integration with GitHub in the Visual Studio Gallery.

Today there are thousands of very useful open source extensions in the VS gallery with their code hosted on GitHub. These open source extensions provide a chance for other developers to learn and collaborate, and for the extension authors to get feedback on their extensions. However, the only way for extension developers to share their own repo is to put a link in the long description of their extension. Needless to say, this made it really hard to discover the sources for an extension – and so we fixed it! Now, as an extension author, you can easily provide the GitHub URL of your extension. We will pull information such as the number of open issues and pull requests, and display it on the gallery page for your extension (see below picture as an example). As an extension consumer, this change will make it easy for you to find the source repo information, provide feedback, and collaborate on open source extensions.

clip_image001[6]

Web Essentials 2013 extension on GitHub

Here’s how you can display your source repo information on VS Gallery.

  1. Sign in to the Visual Studio Gallery

  2. Open your extension edit page (the same process you use when uploading an extension).

  3. On the Edit page, add your source repo URL under “Provide Url to source code repository” check box and click save.

Right now, about 150 of our extension authors have already taken advantage of this feature and added links to their GitHub repos to their Gallery pages. Go Extenders!

Coming Soon in the Visual Studio Gallery

This is the first step towards improving the experience for open source extension in the Visual Studio Gallery. Here is a peek into other improvements we have in mind:

  • Pull extension description from ReadMe.md. Want to save your time on writing extension descriptions? With this change we will pull ReadMe content from your GitHub repo directly and populate the description on Visual Studio Gallery.

  • More extension statistical data. We have heard requests from you for easier ways to see statistical data for your extensions. The idea here is to not only show more statistical information on your extension page, but also provide a set of APIs for you to easily consume this data.

  • Show badges on your repo. On your repo a badge will show how many people downloaded your extension. We also think it will be fun if we can provide extension authors a way to generate badges similar to this:

          

  • Get rewards from your extension. Extending the reward element from badges, we also plan to provide a points and rewards system for extension authors.

  • Extension upload API. Want to have some APIs to upload extensions? Or even integrate with CI services to trigger an auto upload? This is also part of our improvement plan so keep an eye out for upcoming updates to the Gallery.

We have shared above some of the top items on our mind. Is there anything else you’d like to see improved in Visual Studio Gallery? We'd love to hear your feedback! Please share your suggestions with us either through the UserVoice site, drop us a line on binliu@microsoft.com, visit us on Stack Overflow with tag “visual-studio-extensions”, or simply leave a comment below.

imageRobin Liu, Program Manager, Visual Studio China

Robin is a Program Manager from Visual Studio China team where he and the team spend time on improving the experience for Visual Studio extension gallery. He would like to hear your ideas to improve the Visual Studio gallery experience.

Save the date! Visual Studio 2015 Final Release

$
0
0

The final release of Visual Studio 2015 is coming soon! Mark your calendars for the celebrations on July 20th 2015. This event featuring tools for any developer and any app will start with Soma’s keynote streamed live starting 8:30 am PDT.

Visual Studio 2015 Celebration July 20th

New this year, you will have the opportunity to see the Visual Studio team creating an end-to-end solution for an open-source project, leveraging the newest tools and technologies. See how they tackle the different problems along the way, and ask them questions directly!

We will have live, interactive Q&A sessions with engineering teams. You can also watch over 60 on-demand videos that will deep-dive into technical details of all the new features and improvements in Visual Studio 2015.

Don’t miss out! Mark your calendars for the celebrations on July 20th 2015. Follow the event on Twitter with #vs2015 and on Soma’s Blog and the Visual Studio Blog.

See you there!

Radhika Tadinada, Program Manager, Visual Studio
@RadhikaTadinada

Radhika has been at Microsoft for almost 4 years. She first started off as a Program Manager on the Visual Studio Platform team where she helped build IDE features. She is currently with the Customer team and manages the Visual Studio blog. 

The Glimpse Team Joins Microsoft

$
0
0

Today, when building applications, web developers need to consider more browsers, platforms, devices, and form factors than ever before. Recent hardware advances, from mobile computing, touch interfaces and high resolution displays, to the ever shifting landscape of browser API’s and JavaScript libraries, have elevated the level of discipline required to be successful on the modern web. As such, the maturity of web development tooling has increased to aide developers, but a large gap still remains, and developing for the web platform is not as easy as it should be. It is my belief that Microsoft can make an impact in covering the gap.

I am proud to announce that Nik Molnar and Anthony van der Hoorn have joined the Visual Studio team.

Anthony, Nik, Scott Hanselman, David Fowler & Phil Haack at the unveiling of Glimpse at Mix 11 Anthony, Nik, Scott Hanselman, David Fowler & Phil Haack at the unveiling of Glimpse at Mix 11

Nik and Anthony are the creators of Glimpse, an open source web debugging and diagnostics tool they released at Microsoft’s own Mix conference in 2011. Since its creation, Glimpse has been used by thousands of ASP.NET developers to gain insight into the inner workings of their applications and to identify performance enhancement opportunities. Once installed via NuGet, Glimpse automatically enhances ASP.NET applications by providing an intuitive visual timeline of request execution, a log of SQL queries, URL route debugger and much more; all embedded directly into the web page. In addition, Glimpse is fully extensible. Create your own custom extensions, or download one of the many community build ones on the NuGet gallery. For more information about Glimpse and how to use it, be sure to check out the Getting Started documentation.

Glimpse’s Head-Up-Display view rendered into a web applicationGlimpse’s Head-Up-Display view, rendered into a web application.

As full time Microsoft employees, Nik and Anthony will strive to narrow the tooling gap by continuing their quest to make the web a better place through performance, diagnostics, and debugging tooling. To do so, they will work closely with several existing teams across many aspects of the web platform as well as progress on Glimpse, which will remain an open source project.

In addition to the expertise and passion that Nik and Anthony bring to our team, I’m also excited about what this means for the future of Glimpse itself. The project has done quite well on its own, but will improve and grow even more with the help of Microsoft’s support and resources. I’m excited about the opportunity to contribute to Glimpse, and explore ways to make it a key part of the toolset for users of Visual Studio, Visual Studio Code, and Visual Studio Online. That said, Glimpse will maintain its meritocratic governance model, accepting community contributions and feedback.

 

imageShanku Niyogi, General Manager, Visual Studio Team
@shankuniyogi

Shanku has been at Microsoft since 1998, and has spent most of that time on developer tools and runtimes. Shanku currently leads the Cross Platform and Open Tools group, which is responsible for the new cross-platform Visual Studio Code product, and a number of Microsoft’s other tools outside the Visual Studio IDE. 

Microsoft Band and Health developer platform

$
0
0

New to Microsoft Band and Health? Let’s start with a short summary. Microsoft Band is Microsoft’s first wearable device that helps you live healthier and be more productive. Powered by Microsoft Health Service and supported by Microsoft Health apps on all mobile platforms, it is a complete solution for fitness and connectivity.

At its launch in October last year, we made a commitment to the developer community to make our ecosystem open and accessible on every platform. As a first step in fulfilling that promise, we launched a preview of the Microsoft Band SDK for Windows and Android in February this year, followed by an updated release across Windows, Android and iOS at Build 2015 in April. Microsoft Band SDK allows 3rd party developers to enhance and extend the experience of their mobile applications to experiences on Microsoft Band by accessing data from the Band's sensors. The SDK can also be used to create personalized, interactive Band tiles using custom layouts that contain text, icons, buttons and barcodes. In order to assist cross platform development, we worked with our friends in Xamarin to provide Xamarin bindings for iOS and Android SDKs which enables you to leverage Visual Studio and C# to write a single version of your app that works with Microsoft Band across all 3 platforms. The SDK is the first step towards enabling programmatic access to Microsoft Band. It remains the main extensibility point for harnessing the power of Microsoft Band. Watch the Channel 9 Build 2015 video to learn about Developing for Microsoft Band and Microsoft Health.

Today, we are very excited to share Microsoft Band Web Tiles and Microsoft Health Cloud APIs. With these new preview offerings, you can easily create tiles for Microsoft Band and gain access to the rich fitness data that is stored in Microsoft Health service. These new offerings, along with the existing SDK are all available for download on our new developer portal.

Microsoft Band Web Tiles Preview

Microsoft Health App allows Microsoft Band to be connected to the internet. We recognize that there is no shortage of existing content on the internet. Also, in today's "cloud first" world, content creation is shifting more and more to the cloud. So we figured, why not use the power of the Microsoft Health App and leverage the internet connectivity to bring content from the internet to Microsoft Band? With Microsoft Band Web Tiles, we do just that. Microsoft Band Web Tiles make it extremely simple to deliver "glanceable" information to Microsoft Band from virtually any data source accessible through the web. You start off by specifying the data sources, which can be JSON content or they can be XML content, well-formed document or in the form of an RSS or ATOM feed. Then you "bind" that data to Microsoft Band layouts of your choice and create pages of content for your Web Tile. Add a few lines of metadata and a couple of icon files and you're done. It doesn't get any simpler than that!Microsoft Band

With Microsoft Band Web Tiles, you will have to "author" the web tile only once to support multiple mobile platforms (iOS, Android and Windows). Authoring a tile is extremely simple. Read the Web Tiles documentation to author the web tile using your favorite text editors. Or you can choose to author the tiles using the newly released Web Tiles Authoring Tool which provides a UI based, step by step guide to creating a Web Tile package in as little as 5 minutes.

Once the Web Tile package is authored using one of the methods described above, your users can create a web tile (which looks and behaves just like a tile created using Microsoft Band SDK) on the Band by opening the Web Tile package on a mobile device that has Microsoft Health app installed. Once delivered as a file or via HTTP, a Web Tile package will invoke the "Web Tiles Runtime" component that is now part of Microsoft Health apps on iOS, Android and Windows to trigger the installation process. The runtime then creates the Web Tile through user's consent. The same runtime provides mechanisms for management and removal of web tiles through the Microsoft Health app. In addition, the Web Tiles runtime ensures that the contents of the web tile on Microsoft Band remain fresh. It achieves that through periodically polling the data resource, parsing out the relevant content as described by the data bindings inside the web tile package and delivering the "Pages" to the tile on the Band after formatting them using the layouts specified in the Web Tile package.

Microsoft Band Web Tiles are supported on all mobile platforms that Microsoft Health app is available on. To get started, visit the Microsoft Band Web Tiles developer site to read the comprehensive Documentation, download some of the sample Web Tiles and start creating new Web Tiles today using the Web Tiles Authoring Tool.

 

Microsoft Health Cloud APIs Preview

Today, we also bring you a preview of our Microsoft Health Cloud APIs. These RESTful APIs are built on open standards and are a first step towards achieving our goal of making Microsoft Health Service extensible. These APIs will allow developers to enhance the experiences of their apps and services with fitness data coming from Microsoft Health. This means that with user's consent, these apps and services will be able to track user health and fitness comprehensively and provide rich features like observations and insights, personalized recommendations and fitness coaching etc. by making use of a user's fitness history.

Since we launched Microsoft Health, we have established great partnerships with 3rd party services like RunKeeper, MyFitnessPal and more recently Strava and MapMyRide to share data from Microsoft Health. These partnerships are done through deep collaboration and data is exchanged through users’s consent via a Microsoft Data Exchange service. However, with Microsoft Health Cloud APIs, users can now choose to share their health data with any application or service that integrates with Microsoft Health. As part of the preview, the first set of APIs that we are providing are read only APIs for Activities and Summaries. These APIs are designed to provide you read operations for Microsoft Health activity data as well as interval based summaries for biometric data. So when a Microsoft Band user finishes a run, your application can query the Activities API and access details of the run as well as map points for the entire run that can then be used to create a map. Or your application can query the Summaries API to find out exactly how many steps a user took in a given time interval, the number of calories burnt, and distance covered during the same time frame. The following table captures the APIs released today. The full list and details of APIs can be found in the API Reference.

APIAccessDescription
ProfileRead-OnlyProvides the user profile for the specified user.
DevicesRead-OnlyProvides associated devices (Microsoft Band and Phones) for a user. Also provides details of a particular device based on ID.
ActivitiesRead-OnlyProvides user activities for a specified date range or ID. You can get Activity summaries as a list for a given time frame or you can get Activity details for a given Activity. An Activity can be one of the following : Sleep, Run, Workout, Bike, Guided Workout, Golf
SummariesRead-OnlyProvides hourly or daily summaries for a date range. Currently supports: Steps, Calories, Distance, Heart Rate

 

The preview provides you with all the tools to start building your apps today. Start by registering your application and visit the developer page to download sample application, read the Getting Started documentation and browse the API Reference.

New enhancements to Microsoft Band SDK

We are committed to making continuous improvements to the SDK and enabling new, richer scenarios for developers to create with Microsoft Band through the SDK. In addition to releasing the above new features, we have also enhanced the existing Microsoft Band SDK experiences based on feedback and issue reports. Here are the top things that we have addressed with our June update.

  • Refreshing of 3rd party tile contents in-place. With the current SDK, you would have to navigate away from an open page and then return to it in order to see updates that happened on that page. We have changed that behavior to allow page content to be updated in-place. This will enable more dynamic and interactive tile experiences with Microsoft Band.
  • Better support for building icons as buttons. The current SDK supports creating buttons inside of pages, but there were challenges in using icons as buttons. With the update, you will be able to create icon buttons which will enable richer page layouts for better tile experiences.
  • Ability to control the tile screen timeout. A lot of tile developers provided feedback requesting control of the screen timeout in order to provide a seamless experience for the users when using 3rd party tiles.With the new SDK update you control the screen timeout for your tiles. This will ensure users of your Band tile won’t leave the Band tile experience due to Band screen timeouts.

Download the latest update for the Microsoft Band SDK to start using these new features.

 

Feedback

All these new features are in preview. We look forward to your feedback and input that will help us shape these offerings. Please share your suggestions on Microsoft Band and Health UserVoice page where you can also vote on existing suggestions for improvements to the SDK. You can also contact us through healthms@microsoft.com.

 

 

imageAli Alvi , Lead Program Manager, Microsoft Band and Health
@alialvi

Ali Alvi is on the Personal Devices team in Redmond, the creators of Microsoft Band and Microsoft Health. Since joining Microsoft in 2001, Ali has worked as a developer on a number of Windows releases from Windows XP through Windows 8.1. Most recently he architected the client platform for Microsoft Band and is currently leading the work on creating the developer ecosystem for Microsoft Band and Microsoft Health. He has a BS in Computer Science with minors in Mathematics and Economics.

Visual Studio 2015 and Visual Studio 2013 Update 5 Released

$
0
0

Today we released Visual Studio 2015, VS 2013 Update 5, and TFS 2013 Update 5. As always, you can download Visual Studio through several channels: visualstudio.com, MSDN subscriber downloads. You can also use an Azure VM image to try out any or all of these releases.

Before saying anything about the release, I want to start by thanking all of you who took the time to download our pre-releases and send us feedback – here on this blog, through Send-a-Smile, through Connect, or through email. Over this release we received more feedback than ever and it helped us create a better product. Thank you, and please keep the feedback coming!

Just a few minutes ago, we kicked off an event with Soma and Brian (among others), talking about what’s new in VS 2015, TFS 2015, and Visual Studio Online. As part of this event, we have over 60 on-demand videos on Channel 9 that drill into the details of various features and improvements and a special segment called “In the Code” that shows how we used this software to create a real app in 3 days. Soma's blog has an overview of VS 2015.

Before diving in, I’ll note two important things:

  • TFS 2015 is close to final, but not done yet. We are continuing to take feedback and won’t release TFS 2015 today. Please read Brian Harry’s post on TFS RC2 for more details.
  • The tools for Windows 10 (the SDK and the tools for Universal Windows app development) will be available on July 29th when Windows 10 is also available. To keep developing Universal Windows apps before the 29th, please keep using the Visual Studio 2015 RC release and don’t install Visual Studio 2015 RTM – it will remove the RC tools.

Now, on to the fun stuff.

What’s New since Visual Studio 2015 RC

For those of you who’ve been following our progress since Preview last November and RC in April, you’ll see a few changes, which I’ll talk about here. If you’ve been waiting for the full release before you upgrade, the second part of this post will cover what’s new in VS 2015 more broadly.

VSExtensibility. Participating in Visual Studio Extensibility is now easier than ever. You can use high-resolution icons in your VS extensions and for increased portability and sharing of extension projects, you can use the NuGet versions of the VS SDK Reference Assemblies. In case you do not have it installed, you can still open an extensibility project without the VS SDK installed. Installing the SDK is now super easy: just select Visual Studio Extensibility Tools from the Visual Studio setup.

VS2015RTM - Extensiblity in Visual Studio 2015

Diagnostics Tools. Events from your app now appear in a single IntelliTrace Events track instead of being split between the IntelliTrace Events and Output Events tracks, and events from your app now appear while your program is running so you no longer need to press "Break All" to see events. Additionally, the source for the debug engine that enables Visual Studio to debug against GDB and LLDB is now available on GitHub. With this source code, you can extend the current capabilities of Visual Studio 2015 to debug any application on any target device that supports GDB or LLDB. Read more on this blog post about GDB LLDB Debug Engine.

TypeScript. VS 2015 includes TypeScript 1.5, which adds rich support for ECMAScript 6 (also known as ES2015). TypeScript 1.5 includes support for modules, destructuring, computed properties, tagged string templates for ES3/ES5, and much more. TypeScript 1.5 also adds support for the experimental ES7 Decorator proposal, UMD, and System.js module outputs, and a new lightweight, portable project file called ‘tsconfig.json’.

Bing Powered Compiler Help. We integrated Bing-powered compiler help into VS 2015 to make it faster and easier to resolve compiler errors. One click from the compiler error code sends the relevant context on the error such as language, project type, and the error message itself to Bing. This context helps Bing rank the search results to give you the best information from the web to help resolve compiler errors in less time. Get more details on this post about compiler help in Visual Studio

User Account Management. You can filter user accounts that are members of multiple Azure Active Directories to a single directory similar to the filters on the Azure portal. Filtering is particularly important for the new Azure Cloud Service Providers (CSPs) that manage hundreds of customer directories and subscriptions.

VSO and Git Version Control. In RTM we simplified the process of publishing to Visual Studio Online, taking it from 12 steps to just two. From the Team Explorer Sync page, the new Publish to Visual Studio Online section lets you select any of the user accounts in the Visual Studio account manager. No need to remember the URL of your Visual Studio Online accounts, they will all show up in a dropdown for you to simply pick from and publish to.

Visual Studio Emulator for Android. In RTM, we made the emulator available without needing to install Visual Studio. We also added new Android platforms, including Jellybean 4.2 (API 17) and Lollipop 5.1 (API 22). Dragging and dropping a flashable zip onto the emulator will now automatically unzip and install it. Also, you can now push and pull data to and from an SD card. To learn more read this post on Visual Studio Emulator for Android in VS 2015.

Python. The Python Tools for Visual Studio are now an optional component in VS setup, making it easy for you to add support for editing, debugging, and publishing to Azure if you use Python. Visit the Python Tools for Visual Studio page to learn more.

Python Tools for Visual Studio - CodeAndTests

C++ Improvements. VS 2015 RTM includes the new Visual Studio Graphics Diagnostics support for debugging DirectX12 application rendering problems, support for writing C++ code for the iOS platform, and additional C++11, C++14 and C++17 features. We’ve also enhanced the compiler with new secure code generation, improved vectorization, new asynchronous C++, as well as incremental whole program and many throughput improvements. Visit the Visual C++ team blog to learn more.

Release Management. New in RTM, you can define components and release definitions for build definitions of the new build system in TFS 2015. And, while defining components, you can specify artifacts for the component by using a component name that is same as (or contains) the name of the published artifact from the build definition. Learn more about Release Management.

Add Connected Services. The Add Connected Service dialog is also extensible.  If you are a service developer, you can use the Connected Services SDK to build a provider that can improve discoverability and drive usage of your services.

Application Insights. Along with VS 2015 RTM, we’ve updated Application Insights. In addition to support for Windows devices, ASP.NET web apps, iOS, Android, and J2EE, this release adds support for ASP.NET 5 and Universal Windows apps. It also now makes use of the Visual Studio connected services hub, which simplifies the addition of Application Insights to projects and makes it easier to sign in. You can add Application Insights by opening the Connected Services dialog and choosing Application Insights from the list of services. Finally, we’ve also improved performance. Learn more about Application Insights in  VS 2015 in this blog post on Application Insights tools in VS 2015 or the release notes.

Office 365 API Tools. Now you can let Office 365 API Tools auto-configure Single Sign-On in your ASP.NET MVC web applications by simply selecting “Configure Single Sign-On using Azure AD” in the Connected Services wizard. When you integrate Office 365 APIs into your project, Office 365 API Tools now downloads and installs the latest version of Office 365 API client library NuGet packages from NuGet.org.

What’s New in Visual Studio 2015

If this is your first look at VS 2015, rather than asking you to go read all the previous blog posts about our interim releases (the ones for Preview, for CTP 6, and for RC probably carry the most information), I’ll try to add to what’s above and summarize what’s new in this release (if you can call 1,500+ words a summary).

Cross-platform mobile device support (Android, iOS, and Windows). This is one of the big new items for VS 2015: Out of the box, Visual Studio allows you to use web technologies to build production quality mobile apps for iOS, Android and Windows using Apache Cordova, as well as with C++ and Xamarin. If you select the items during setup, Visual Studio 2015 will install all the tools you need including the Android Developer Kit, the Java Developer Kit, and the Native Developer Kit and the Visual Studio Emulator for Android, and you can start creating apps for Android, iOS, and Windows from File/New.

Additionally there is collaboration between Angular and TypeScript, integration of Clang and LLVM for C++ development, and our emulator for Android. Combined with our partnership with Xamarin for C# development and new APIs in .NET Framework 4.6, Visual Studio 2015 supports a full toolset that enables you to target Android, iOS, and Windows.

image

To learn more about new features added to the Visual Studio Tools for Apache Cordova, check out the detailed Preview and RC blog posts.

Improvements in C++. In Visual Studio 2015, we have delivered more C++11, C++14 and C++17 features to make it easier for you to write cleaner, better, and more compatible code. For cross-platform mobile developers, you can use Visual Studio 2015 to generate dynamic/static libraries, native-library applications, and Xamarin native applications targeting the Android platform. You can also write C++ code targeting the iOS platform while taking advantage of our advanced code authoring features including code sharing, cross-platform IntelliSense, refactoring, peek definition and other features you know and love. Visit the Visual C++ team blog for all the latest information. You can also find a list of all feature updates in this release in the Visual C++ section of the release notes.

Productivity enhancements in the IDE. This release saw both minor and major enhancements to productivity in the IDE. Some of these productivity highlights include our new Light Bulbs (which replace smart tags) and provide suggestions for how to complete and correct your code. The IDE now provides templates to create shared projects for VB, C#, and JavaScript, that now makes it easy to reference by several project types. You can sign-in to different developer services using multiple account, using a single sign-on. You can also easily manage all connected accounts through the new account manager. The improved Notifications Hub provides more control than ever by allowing you to ignore messages that you don’t want to see again. The new Custom Window Layouts feature enables you to make the best use of your multi monitor environment or single laptop screen. You will also find high-resolution icons and touch support in the editor. Finally, there are improvements to the Visual Studio Feedback experience that makes is super easy to provide feedback and log bugs from within the IDE. Check out the VS 2015 release notes for a full list.

New in the debugger and diagnostics space. Visual Studio 2015 addresses many of your requests, such as lambda debugging, Edit and Continue (EnC) improvements, child-process debugging, and revamps the breakpoint configuration as well as introducing a new Exceptions Settings tool window. We also pushed the state of the art by integrating performance tooling into the debugger with PerfTips and the all new Diagnostic Tools window, which includes the Memory Usage tool and the redesigned IntelliTrace for historical debugging. Improvements to the UI debugging tools in XAML like the live visual tree that helps you visualize the entire application during a debug session. Finally, the new Network Diagnostics Tool helps you diagnose network-related issues when building Windows Store apps.

Blend for Visual Studio 2015. We redesigned Blend for Visual Studio 2015 to provide you with an improved user interface development experience for creating beautiful XAML apps. Blend has a sleek new look consistent with Visual Studio, support for Solution and Team Explorer, and an enriched file reload experience to facilitate a better workflow between Blend and Visual Studio. You can now write XAML more efficiently using XAML IntelliSense, which provides you with statement completion and navigation to source. Finding and fixing UI issues in your running app is now easier using UI tools for XAML debugging, which enable you to inspect the live visual tree and the properties of any elements in the tree. We replaced the Animation Workspace feature with the more powerful Synchronized Layouts feature that you can use to create many different window layouts and roam them across machines. With NuGet support added, you can now manage NuGet packages in Blend. Finally, for power users that would rather use their keyboard instead of mouse, we made the Blend designer panes fully keyboard accessible. To learn more about new features added to Blend, check out the detailed Preview and RC blog posts.

Blend for Visal Studio 2015

Node.js Tools for Visual Studio. The latest version of Node.js Tools 1.1 RC for Visual Studio features improved performance, a new perf-friendly "Quick" IntelliSense mode, and options to make it easier to work with browser-side code. NTVS also has a more consistent debug-attach experience, and better support for TypeScript project configuration options. The new configuration options for mocha and increased logging options make it easy to track down issues with unit tests. Other improvements in this version of NTVS include “Open Documentation” command to explore npm package documentation, and a Linux-based dockerfile template that makes it easier to deploy your app. Download the Node.js Tools 1.1 RC for Visual Studio and check out the NTVS release notes for details. To track issues and provide feedback visit our GitHub issue tracker.

image

Improvements to the connected experiences. Whether you’re trying to sign into VS, connect to Azure, integrate an application with Office 365 or check in code to Visual Studio Online, VS 2015 has centralized the users accounts you use across these services to reduce unneeded prompts for credentials. The account manager makes the user accounts you use available throughout the IDE. And your user settings roam so you can get up and running quickly on a new device.

Support for game development. Earlier this year we announced Visual Studio partnerships with gaming engine providers, specifically these three – Unity Technologies (creators of Unity3D), Epic Games (creators of Unreal), and Chukong Technologies (creators of Cocos2d). With these partnerships, you can easily create games in Visual Studio targeting these three platforms. Visual Studio 2015 Tools for Unity 2.0 for example is a free extension for Visual Studio that enables rich programming and debugging experiences when creating games targeted at Unity.

Packages and Tasks. In addition to the NuGet package manager, VS 2015 now fully supports both Bower and npm. You can use these two new package managers in web and Apache Cordova projects to bring in client-side packages as well as custom node.js based tooling such as Grunt and Gulp. The Solution Explorer integration with these new package managers makes them easier than ever to work with. Additionally, the new Task Runner Explorer tool window allows for easy customization and execution of tasks from Grunt and Gulp. These tasks greatly improve the workflow for client-side asset handling such as JavaScript and CSS bundling/minification and help compile CoffeeScript, TypeScript, Sass, LESS and more. Don’t use Grunt or Gulp? No problem. You can extend the Task Runner Explorer to support any type of task runner, such as npm scripts.

New in .NET 2015. With the .NET Framework 4.6, you will enjoy better performance with the new 64-bit "RyuJIT" JIT and high DPI support for WPF and Windows Forms. ASP.NET provides HTTP/2 support when running on Windows 10 and has more async task-returning APIs. Fro details on ASP.NET check out Scott Guthrie's post on ASP.NET 4.6 and EF 7. There are also major updates in Visual Studio 2015 for .NET developers, many of which are built on top of the new Roslyn compiler framework. There are updates to .NET languages, C# 6, F# 4, VB 15. We are also announcing updates to .NET Core and ASP.NET 5, both recently released as beta 5 and included in Visual Studio 2015. The .NET tools for Windows 10 UWP app development, including .NET Native, will be shipping on 7/29. We will have a lot more to share about .NET UWP apps and the .NET Native technology at that time. Check out this post on .NET blog announcing .NET framework 4.6.

VS Enterprise, VS Community. We announced the lean and simple VS 2015 product lineup earlier this year, going from 3 paid SKUs (Professional, Premium, and Ultimate) down to two, Professional and Enterprise. We also introduced Visual Studio Community 2013 at the VS 2015 Preview event last year and are today releasing Visual Studio Community 2015. Visual Studio Community brings together all the free Express SKUs into a single product capable of desktop development to mobile development to Azure and ASP.NET development. It also includes full extensibility. VS Community is for open source developers, startups, students, and hobbyists.

VS Code. Visual Studio Code is the most recent introduction to the VS family. It is a free, light-weight code editor that runs on Mac OS, Windows, and Linux, that packs a punch with many mainstream features from Visual Studio such as IntelliSense, Debugging, Peek, and Code Navigation.

GitHub and Visual Studio. We’ve also done quite a bit to smooth the integration between Visual Studio and GitHub. Some examples: GitHub Enterprise on Azure, the GitHub extension for Visual Studio (which integrates Team Explorer directly to GitHub) that GitHub recently open sourced, the GitHub integration in Developer Assistant, and we added GitHub integration into the VS Gallery.

Download Visual Studio 2015

This release is a significant milestone, and we’re all excited to see what you do with it – the mobile device applications you create and the services that you bring into existence. We hope these tools help you do something amazing.

If you need more details on any topic or are looking for something I haven’t covered here, check out the VS 2015 release notes and VS 2013 Update 5 release notes. For a list of bug fixes and known issues in this release, read the VS 2015 KB and VS 2013 Update 5 KB.

Here are the download links one more time: Visual Studio 2015,Visual Studio 2013 Update 5 and TFS 2013 Update 5.

Most of all, we want to know what we got right and what we can improve. Share your feedback, suggestions, thoughts, and ideas on UserVoice , through the in-product Send-a-Smile UI, or file a bug through the Visual Studio Connect site.

Thanks,

John

imageJohn Montgomery, Director of Program Management, Visual Studio
@JohnMont

John has been at Microsoft for 17 years, working in developer technologies the whole time.


Visual Studio 2015 RTM: What’s New in the IDE

$
0
0

Visual Studio 2015 was released yesterday. Throughout the prereleases, you've seen some major announcements, from the new VS 2015 product lineup introducing Visual Studio Enterprise and Visual Studio Code, to the release of a free Visual Studio Community Edition with support for VS extensions. We've listened to your feedback on these products and have been maturing them for what we're excited to now share as the RTM version of Visual Studio 2015. To see a full summary of all that’s new in Visual Studio 2015, please see John's post announcing the release of VS 2015 and VS 2013 update 5.

In this post, we'll dig deeper into details on the lineup of new features specific to the IDE. Here is a list of everything we’ll cover in this post.

Customizable setup that is lighter and faster

One of your top voted requests on setup is to make Visual Studio installer more customizable. Setup for Visual Studio 2015 puts you in control of what gets installed, enabling the installation to be smaller and faster. We have also expanded the suite of components installed with Visual Studio to include multi-device development platforms and solutions across C#/.NET (Xamarin), HTML/JavaScript (Apache Cordova), and C++.

Customizable Setup

During setup, you will see options to pick from various components to install with Visual Studio. Depending on what you choose, you can potentially reduce the size of a default install by 50%, compared to previous releases.

You always have the option to install Visual Studio with the full set of capabilities. Keep in mind that the full installation will be sizable since it lays down not only core Visual Studio components, like the shell and the editor, but also large SDKs and emulators, such as the ones for Windows and Android.

If the basic set of capabilities you initially installed do not fulfill your needs, you can later install features as you need them. For example, if you chose not to install C++ during setup, opening a C++ project will give you the option to install it on-demand, and Visual Studio will fetch the latest versions for you.

We will continue to move more of Visual Studio’s capabilities out of the default installation, and focus on creating a friction-free setup experience in which you can get the features you need when you need them.

New sign in and account management experience

The new account manager significantly reduces prompts for sign in. It does so by keeping a synchronized list of all accounts you have connected to in the IDE and Visual Studio family of apps. It enables single sign-on and usage of multiple accounts across developer services, such as Visual Studio Online and Azure. When you connect to a service or sign in to the IDE, the account is added to the account manager. This account then becomes available without re-prompting for credentials when accessing other resources; as shown in the account picker control below.

Account Picker

Directory filtering for accounts that are part of many Azure Active Directories

When viewing resources under an account, the list can grow extremely large for users who have accounts that are members or co-administrators of many Azure Active Directories. Cloud Solution Providers, for example, may have up to thousands of customer directories under a single account. We have added the ability to globally scope an account to a single Azure Active Directory in the account manager. Directory Filtering for Accounts part of Azure Active Directories

Publish to Visual Studio Online

In previous versions of Visual Studio, sharing code meant going to a website to manually publish a repository, jumping through a myriad of workflows and manual steps like creating accounts and services just to start sharing code. In Visual Studio 2015, the process of getting your local repository onto Visual Studio Online (VSO) has been dramatically simplified. What used to take 12 steps now takes 2.

From the Team Explorer Sync page, you can quickly select any of the user accounts in Visual Studio’s account manager. Your Visual Studio Online accounts are automatically available in the list; no need to remember the URLs.

Publish to VSO

After selecting your account, pick a new or existing team project to host your repository, click publish, and you’re done.

Improved Notifications Hub

In Visual Studio 2013, we introduced the Notifications Hub to surface notifications to developers with information about their environment. Most notably, we used this area to tell you when an update was available for Visual Studio or a component in VS. In Visual Studio 2015, we’ve added a new notification that gives you an option to learn more about a recent Visual Studio crash. There are now quite a few notifications you may get through the Notifications Hub, so we’ve simplified the UI. Notifications are better categorized, and titles and descriptions are one line each. You can also choose to ‘always ignore’ notifications that are not important to you.

Improved Notification Hub

Find and fix issues quickly with light bulbs and the enhanced error list

Light bulbs (which replaced smart tags) help you identify and fix common coding issues. In many cases this is "live" as you type your code, and take quick code actions (like refactoring, implementing interfaces, and more) from right inside the editor.

LightBulb

We’ve also enhanced the Error List so that it is your “one-stop-shop” for navigating and correcting code-related issues in your solution, whatever their source: compilation, code analysis, or live "Analyzers" which spot domain-specific issues as you type. You can use the advanced filtering available in the Error List to focus on a problem, navigate to it, and make your fix. For example, you can filter to see only the errors from your last build or in your current project. The Error List now also has a better default ranking, so that top issues appear at the top of the list.

For extra assistance, you can just click the Code Link or press F1 when you have an error selected, to see Bing powered compiler help which uses all the relevant context on the error (such as language, project type, error message) to locate the best web content to help you resolve your issues.Error List With New Build Filter

Touch in the Editor

Visual Studio now lets you pinch-zoom, scroll, and select, all with a touch of your finger inside the editor.

Productivity Power Tools for Visual Studio 2015 released

We are pleased to announce the availability of Productivity Power Tools for Visual Studio 2015. You can download it right away from the Visual Studio Gallery.

The new release contains all the features of the previous Productivity Power Tools (2013), with the following changes to work with Visual Studio 2015:

  • Solution Error Visualizer has been updated to take advantage of the new Visual Studio 2015 Error List and its advanced filtering capabilities; filters applied in the error list will now apply to the visualizer too.
  • Color Printing, Colorized Parameter Help and Organize VB Imports are all incorporated into the Visual Studio 2015 core product (so they are no longer needed in the Productivity Power Tools)

Visual Studio 2015 Color Theme Editor released

We have also released the Color Theme Editor to give you the power to customize the color palette of the IDE. You can choose from any of the prebuilt themes or start building your own theme and even share with your friends!

Removal of many build-related files into the ".vs" folder

One of the top feedback items on UserVoice was to store project related information in .vs folder to avoid polluting the root. We have addressed this in VS 2015 by moving many of the temporary caches and build related files out of the root of the solution directory and into a root level ‘.vs’ folder. This simplifies source code control and reduces files system clutter.

Define a new project type to create extensions using the VS Project System Extensibility Preview

The VS Project System Extensibility Preview makes it easier than ever to extend Visual Studio with new project types to support new languages and scenarios. The post "Introducing the Project System Extensibility Preview" dives into how our ecosystem can take advantage of this new type of extensibility.

Easily create and share Visual Studio extensions

The new item templates simplify adding functionality like a new editor feature, a custom command, or a custom tool window to an existing extension without having to use the project creation wizard. All you have to do is pick an extensibility item template and add it to your extensibility project. Once you create an extension, it is easily sharable: the extensibility assemblies are now available through NuGet, making it easy to share a project with others and keep it updated with the latest APIs. We’ve also streamlined the steps to install the Visual Studio SDK when opening a project on a machine that doesn’t have the SDK installed.

Open source extensions can now be shared with the community through GitHub in the Visual Studio Gallery, which has a new shared repository and GitHub links built in.

Thank you for your feedback!

We will continue to improve Visual Studio 2015 with updates, and as always your feedback impacts the direction we take for future releases of the product. Please send us suggestions and ideas through UserVoice and bugs through the Visual Studio Connect site. You can also use the in-product Send-a-Smile feature (the smiley face in the upper right corner of the IDE) to send us any comments or thoughts.

Enjoy!

Ji Eun KwonJi Eun Kwon, Program Manager, Visual Studio Platform IDE

Ji Eun Kwon is a Program Manager on the Visual Studio Platform IDE team. Her primary focus is on identity and licensing experiences in the IDE. She is a recent graduate of Northwestern University with a degree in Computer Science and Economics. 

imageTarek Madkour, Group Program Manager, Visual Studio Platform IDE

Tarek’s team is responsible for delivering the Visual Studio UI including editing and project handling as well as the command-line tools used for building applications. Tarek is a tool maker by passion and trade. Ever since joining Microsoft a little over a decade ago, he spent all his time working on various aspects of development tools.

Identity Management Features in Visual Studio 2015

$
0
0

In Visual Studio 2015 we have made radical changes to sign in experiences and connecting to your online resources. You can now chose to use a single account across many developer services, or use multiple accounts across Visual Studio. All of this is possible because of the new Visual Studio Account Manager. The account manager makes every sign-in global to the IDE, reducing the number of times Visual Studio prompts for credentials when connecting to different services. The account manager also enables you to switch easily between multiple accounts, so that you no longer have any sign-out-then-sign-in-again flows in the IDE. We have been fine-tuning these capabilities throughout the prereleases. We first introduced the new account management experience in Preview. Since then, we have added more features and moved more developer services to consistently leverage the account manager. In this post, we will cover all the identity experiences that are new in Visual Studio 2015.

Single Sign On

You can sign in to Visual Studio through the link in the upper right corner or from features like Server Explorer or the New Project dialog. Every time you sign in, Visual Studio adds an account to what we call the keychain, or account manager. You can use that account to access other developer services in Visual Studio without having to reenter your credentials for each service separately. For example, once you sign in to Azure in Server Explorer, that account can be used later to publish a local Git repository to Visual Studio Online. When adding accounts to the account manager, you can use both Microsoft accounts and work or school accounts. Visual Studio manages and refreshes tokens for the accounts centrally to reduce redundant sign-in prompts.

Publish to VSO

Working with multiple accounts

While working with developer services from within Visual Studio, not only can you use an existing, already authenticated account, but you can also sign in to new accounts as you go.

The most common way you add new accounts to the account manager is through the account picker control. It provides a quick way to select or add the account you want to use when accessing services. The account picker appears in places like the New Project dialog, the New ASP.NET Project dialog, the Add Connected Service dialog, Publish to Visual Studio Online, and other experiences. Selecting the account upfront allows Visual Studio to automatically discover all your available resources, provide context about which account is associated with an action, and simplify the workflow for re-authenticating when you need to reenter your credentials. We call this the “account-first” model.

Account Picker in New Project Dialog

Even in workflows where selecting a user account is unnecessary, you will see the account manager at work. A feature we call the domain picker utilizes the account manager to automatically discover and list the domains associated with the directories in which your accounts are members. An example of the domain picker in use is when you are configuring Azure Active Directory Authentication for a web application project through the Connected Services dialog. This configuration restricts access to your web application to only users in the domain that you select.

Connected Services Dialog showing Configure Azure AD Authentication

You can find the list of all the accounts Visual Studio is using and manage them through the Account Settings dialog under the File menu. On this dialog, you can remove accounts, add new accounts, and filter directories for an account. Filtering is an advanced feature that becomes necessary if you are a Cloud Solution Provider that manages hundreds of customer subscriptions. We will talk more about this in a bit.

Account Settings Dialog

The list of user accounts managed inside Visual Studio roams to other devices when you sign in to Visual Studio with the same Personalization Account. Keep in mind that for security reasons, only the account list is roamed; none of the passwords or access tokens under each account are roamed. To start using the accounts in a new Visual Studio environment, you will have to reenter your credentials for each of them. User accounts are also shared across other apps in the Visual Studio family like Blend and Microsoft Test Manager.

The Personalization Account is just a user account like any other, which is why it appears in the list of all accounts. It is only special in that it is the user account to which all your personalized settings are anchored. Visual Studio displays the personalization account in the upper right corner of the IDE because of this bonus functionality, but you can use it like any other account.

Directory filtering

For user accounts that are members of many Azure Active Directories, it can get rather challenging to find the resources you care about. This is particularly true for Cloud Solution Providers who manage hundreds or even thousands of customer directories and need to develop an application against a specific customer's directory or subscription. In Visual Studio 2015, you can now filter a user account to a single directory from the Account Settings dialog. This global filter works much like the directory filter in the Azure portal. Once the filter is applied, all features in Visual Studio scope the resources to the ones available for the directory you set in your filter.

Directory Filtering For Accounts Apply Directory Filtering

We have made strides in Visual Studio 2015 to improve the experience of connecting to developer services from within the IDE. Authentication and identity is a rapidly changing space, and we are continuing to iterate on new ways to make it easier for you to sign in to any service, from any app in the Visual Studio family. As always, we’re grateful for the ideas you share with us on UserVoice and through Send-a-Smile and the bugs you log on Connect that help make Visual Studio great!

Thank you.

imageJi Eun Kwon, Program Manager, Visual Studio Platform IDE

Ji Eun Kwon is a Program Manager on the Visual Studio Platform team. Her primary focus is on identity and licensing experiences in the IDE. She is a recent graduate of Northwestern University with a degree in Computer Science and Economics.

Anthony Cangialosi-2Anthony Cangialosi, Principal PM Manager, Visual Studio Platform IDE
@ACangialosi

Anthony has focused his career at Microsoft on building developer technologies. He is the program manager for Visual Studio’s Connected experiences and IDE. Anthony joined the Visual Studio team in 2001 and has contributed experiences across the IDE including VS’s identity infrastructure the Shell, the VS SDK, Ecosystem, VSIP, and mobile device development

Visual Studio 2015 Diagnostics Investments

$
0
0

When we wrapped up the last release of Visual Studio, I wrote a blog post titled: Visual Studio 2013 Diagnostics Investments, which gathered all the links to our blog posts and other content into a single place. It seems fitting to do the same now that VS2015 has RTM’d, and the same intro I wrote last time applies, so I won’t repeat that here.

When I think of the Diagnostics Investments we made in this release, I classify them into 4 broad buckets: platform support, addressing customer feedback, catching performance issues early, and historical debugging with IntelliTrace.

Platform support

Every time Visual Studio needs to support a new operating system version or platform, the Visual Studio Diagnostics team has to do a bunch of work just to keep things working before even considering adding new capabilities – and we added a bunch! This release was no different, adding support for Windows 10 and the various Windows 10 device types, e.g. desktops, tablets, phones, Xbox, and HoloLens. You can now enjoy the regular awesome Visual Studio debugging and profiling experience for all those devices. The same applies to profiling and debugging .NET Native apps and debugging support for ASP.NET 5.

In addition, VS2015 offers C++ mobile cross-platform development support including debugging Android and debugging iOS apps (we also open sourced our code that facilitated the connection between Visual Studio and GDB/LLDB). If C++ is not your cup of tea and you prefer using HTML/JavaScript, we also support debugging Apache Cordova projects against iOS and against Android targets.

For debugging and deploying to Android, we went a step further and created the best Android emulator on the market [watch video] and made it available for free to any Android developer.Emulator for Android

Addressing customer feedback (and modernizing existing features)

The debugger has an extensive set of capabilities meant to provide solutions for the broadest set of customers possible.  We frequently talk to customers who need capabilities that already exist in VS, but are not as obvious or discoverable as they could be.  Many of these features have been around for over two decades. That means two things. First, there are opportunities for us to modernize older, tired-looking experiences (and prime them for further enhancements/extensibility). Second, when we bring up debugging support for new platforms, there are always capabilities that we run out of time to implement the first time round. With that context, let’s see what we did in this release on those fronts.

Setting breakpoints is the most basic debugging action that every developer learns on day one. Most developers however haven’t discovered that you can configure breakpoints with conditional statements, hit counts, filters, and even specify logging actions (through Tracepoints). Even if they have discovered them, the usability of those capabilities has been low, making it difficult to use them productively. The same applies to other types of breakpoints such as Function breakpoints, Data breakpoints, and breakpoints on auto-properties. With VS2015, we have completely reimagined the experience of configuring breakpoints, making it more discoverable and more usable. To learn more please read about the New Breakpoint Configuration Experience, or watch this demo about using the new Breakpoint Settings.

New Breakpoint Configuration Experience and Settings

Beyond breakpoints, the other way your app halts execution and “breaks” under the debugger is when an unhandled exception gets thrown. You have been able to configure breaking when specific exceptions are first thrown (not just unhandled), but again many folks don’t know about that, and the usability of the experience left a lot to be desired. With VS2015, we have updated the experience of configuring exceptions by making it more discoverable and more usable. To learn more about that please read about the New Exception Settings Window, or watch this demo about the revamped experience.New Exception Settings Window makes it more usable and discoverable

The reason you use/configure breakpoints or exceptions to break execution is, of course, to inspect state such as variable values via one of the many windows, e.g. Locals, Autos, Watch, Immediate, and DataTips to name just a few. Inspecting state includes sometimes executing code, i.e. making function calls. Ever since lambdas were introduced in .NET languages it has been a significant pain-point that you could not use lambdas in your expression evaluations. With VS2015, we are offering exactly that capability. To learn more about that, please read our blog post detailing lambda debugging support.

A huge time-saving debugger feature is what we call EnC, the ability to edit code and then continue debugging (typically combined with Set Next Statement) without restarting the debugging session. Unfortunately, as the C# compiler/language evolved, EnC didn’t get the parallel love you would hope. This left EnC not working at all in various common scenarios such as inside async functions, inside lambda expressions, and under remote debugging, to name a few. With VS2015 we have removed many restrictions, making EnC applicable again in most of your debugging sessions. To learn more about that please read our blog posts about .NET edit and continue improvements: part 1, and part 2.

Speaking of EnC, for C++ projects we have also started improvements for this capability including x64 bit. Learn more about it in this blog post: C++ EnC in Visual Studio 2015. For you C++ developers, VS2015 offers you faster startup debugging and improved resiliency during function evaluation.

Last, but certainly not least, a common request from developers building XAML applications has been to interactively inspect the UI layer, and VS2015 offers exactly that with UI Debugging Tools for XAML.

Catching performance issues early

When we speak to developers at conferences, in our usability labs, and anywhere else we can find them, a common theme emerges that is validated by our own product telemetry: very few people use profiling tools. Even the minority typically use a profiler at the end of the development cycle, too late to identify and fix issues correctly. This is one of the reasons so many apps out there fail to perform up to their potential. In contrast, even if you don’t intend to explicitly debug your app you hit F5 implicitly starting a debugging session, e.g. being susceptible to asserts, exceptions, observing the Output window etc that helps you to identify correctness issues. With VS2015, we aspire to bring to you the identification of performance issues in a similar way, through a feature we call PerfTips and through the brand new Diagnostic Tools window (with the Break events, CPU Usage, and Memory Usage tools).

New Diagnostics Tools Window with break events, CPU usage, and memory usage tools

We have a lot of content for you to read up on this, and this is the recommended order:

  1. PerfTips: Performance Information at-a-glance while Debugging
  2. Diagnostic Tools debugger window
  3. Memory Usage Tool while debugging
  4. Walkthrough: Analyze Performance While Debugging
  5. Diagnosing Event Handler Leaks with the Memory Usage Tool
  6. //BUILD/ Video: Debugging Performance Issues Using Visual Studio 2015
  7. Channel9 Video: Visual Studio 2015 Diagnostic Tools [skip to 14minutes]
  8. Connect Video: PerfTips and the Diagnostic Tools Window

For those of you using the profiling tools without the debugger, you will find a New UI Performance Analysis Tool for WPF Applications, a new Network tool, and some menu movement that is summarized in this post: Performance and Diagnostic Tools in VS2015.

Historical debugging with IntelliTrace

IntelliTrace is a feature that first shipped with Visual Studio 2010 Ultimate as an indispensable debugging tool aimed at eliminating the “no repro” scenario. With VS2012, VS2013 and all the Updates for those releases we focused on making IntelliTrace better for diagnosing issues in production. With VS2015, we doubled down on making IntelliTrace awesome for your everyday Visual Studio debugging.

Visual Studio 2015 has a new SKU lineup. The Premium and Ultimate editions were essentially merged into the new Enterprise edition at a fraction of the Ultimate cost! This is great news for developers who wanted to use IntelliTrace but didn’t have access to Ultimate in previous releases.

Beyond making it more accessible financially, with VS2015 you get a completely revamped IntelliTrace UI and experience. It now supports Just My Code (JMC), displays the data collected live without having to break under the debugger and it also supports attaching to a running process. Also when you enter Historical Debugging you get a much more streamlined and polished experience. But perhaps the most notable improvement is that IntelliTrace is now part of the new Diagnostic Tools window, offering a new graphical timeline for the events collected to complement the tabular view. The new IntelliTrace timeline helps visualize your application’s execution over time, but also allows you to select and focus on ranges of time, thus filtering the events to your selection.

New Intellitrace Timeline helps visualize your application's execution over time

We have a lot of content for you to read up on how IntelliTrace can help you, and this is the recommended order:

  1. IntelliTrace in Visual Studio Enterprise 2015 – A good overview post
  2. Walkthrough using IntelliTrace – Demo #1 [or watch the video– for the demo start at 4m5s]
  3. Walkthrough using IntelliTrace – Demo #2 [or watch the video]
  4. Finding swallowed and async exceptions using IntelliTrace in VS2015 [or watch the video– for the demo start at 43m5s]
  5. 75min recording of the IntelliTrace session delivered at Ignite 2015 by the product team (covers the demos listed above)
  6. Announcement of IntelliTrace supporting attaching to a running process
  7. Announcement of the return of the IntelliTrace standalone collector, which lets you collect data from a production or production-like environment
  8. How to collect data from a windows service using the IntelliTrace Standalone Collector
  9. Summary of all IntelliTrace learning resources (including older versions of Visual Studio)

Summary

The edit-build-diagnose inner development loop is where you spend most of your time. In this post I shared a bunch of links to blog posts and videos explaining how Visual Studio 2015 makes you more productive during the diagnose step in the cycle; for your new or existing code. If you have feedback for any of these I strongly encourage you to leave a comment on one of the links I shared above where their respective authors can respond to you, or you can engage in our MSDN diagnostics forum, and we are always monitoring uservoice.

The Visual Studio Partner Ecosystem

$
0
0

One of the unique values Visual Studio provides is that over and above the built-in features we have a multitude of extensions to address various niche development scenarios. These extensions are provided by our strong partner ecosystem. The Visual Studio Partner Ecosystem is the strongest it has ever been in the history of Visual Studio. This year we are excited to share that over 1100 partners have created tools and extensions that integrate with Visual Studio 2015, Team Foundation Server, and Visual Studio Online. For Visual Studio 2015 RTM release itself we have 84 launch partners that have made new versions of their products available on the day that VS 2015 was released. Want to join in? Check out the VSIP Partner Program for info on how to join.

Not only do these extensions work with VS 2015 Enterprise and Professional, but you can also use all extensions with our free offering - Visual Studio Community. Get started with an extension from the Visual Studio Gallery.

Interested in writing your own extensions? It’s really simple to do so. Whether you’re interested in adding support for a new language, extending the Visual Studio interface, connecting a service to Visual Studio Online, or just customizing Visual Studio for your needs, we’ve got all the information you need on the Visual Studio Integration Portal. Also, take a look at Heather Brown’s post on Extending Visual Studio 2015 and VSO-extension-samples on GitHub.

Now that you know where to get the extensions and how to create your own extension, I’d like to share some details about our VSIP Partners. These partners have been working closely with us throughout the development cycle, to leverage the new extensibility points and features in VS. You can see there is a huge variety of partners who provide a broad choice of tools for you to use with Visual Studio and you can learn more about each partner in the Visual Studio Partner Directory.

image

In addition to our longest standing partners such as JetBrains, Intel, DevExpress, MicroFocus and Synergex who have all been in the Partner program for well over a decade, we have some new partners who are filling gaps and extending developer scenarios as well. Magic Quadrant leader Veracode brings cloud based security testing and static analysis, Saasabi lets developers do ad hoc analysis and reporting of VS Online activity, Agile teams use Chef for automated continuous integration and DevOps, and First Floor Software has a cool tool called XAMLSpy which lets you see everything there is to see about your XAML code. Download an extension from the Visual Studio Gallery or from Visual Studio Online Integrations!

Our Visual Studio Partner Program has grown significantly over the last few months, and we continue to embrace new types of partners, individuals, students and start-ups who can join the Basic program level for free. I invite you to learn about the benefits of Visual Studio's Partner Program and to join the program and become an active part of the Visual Studio ecosystem.

Thank you!

Tom

 

imageTom Lindeman, Director of Partner Programs, Visual Studio

Tom has shipped 23 products to market while at Microsoft, and currently manages the worldwide partner ecosystem program for developer tools in the Cloud & Enterprise Group.

Visual Studio Tools for Unity 2.0

$
0
0

Last week we announced the release of the Visual Studio Tools for Unity 2.0. VSTU is Microsoft’s free Visual Studio add-on that enables a rich programming and debugging experience for working with the Unity gaming tools and platform. For VSTU 2.0, the team put a strong focus on improving and optimizing the debugging experience.

Since we released VSTU 1.9 almost a year ago it has been downloaded over 300,000 times. Over the course of the last year, we shipped two previews of VSTU 2.0: VSTU 2.0 Preview and VSTU 2.0 Preview 2. Each preview allowing us to share new features and bug fixes as soon as they were ready. The team would like to use this opportunity to thank everyone who participated in these previews by sending us suggestions on UserVoice, reporting bugs on Connect, or simply reaching out to us on the Visual Studio Gallery or at the events we attended. We’ve seen many games this year that were developed using VSTU, and we couldn’t be more proud!

VSTU 2.0’s main feature is the native support for Visual Studio 2015. VSTU is available for download on the Visual Studio Gallery at the following links:

Visual Studio Tools for Unity

New features in VSTU 2.0 include top suggestions on UserVoice, such as:

  • Code Coloration for Unity’s shaders on Visual Studio 2015: Through our code coloration support for ShaderLab, Unity’s Shader language, you can now write both your Unity scripts and Shaders from within Visual Studio.

Code Coloration for Unity's Shaders

  • Experimental support for breaking on exceptions: You can now configure VSTU to break on exception and debug the state of your program when an exception is thrown.

Experimental Support for Breaking on Exceptions

For a complete list of new features and bug fixes in each release, please read our changelog. As always, if you have any suggestion for VSTU, please post them on UserVoice, and if you encounter any issue please report it through the Visual Studio Connect site.

We’re very excited for the future of VSTU, especially in the light of our partnership with Unity. For our next releases we’re going to focus on an even tighter integration with both Visual Studio and Unity. We’ll have more to share in the coming months.

Jb EvainJb Evain, Senior Software Engineer, Visual Studio Platform Team
@jbevain

Jb runs the Visual Studio Tools for Unity experience for the Visual Studio Platform team. He joined Microsoft as part of the acquisition of SyntaxTree, a company he founded and where he led the development of UnityVS. He has a passion for developer tools and programming languages, and has been working in developer technologies for over the last decade.

Targeting Windows 10 with your Apache Cordova app

$
0
0

This April, in concert with Windows 10 Technical Preview 2, we debuted support for the Windows 10 platform for Apache Cordova. Now, with the availability of Windows 10, full Windows 10 support is part of the Windows Apache Cordova platform and native to Visual Studio 2015

Apache Cordova allows you to write apps targeting iOS, Android, Windows, and Windows Phone (and other platforms) with a single code base using HTML, JavaScript, and CSS. Support for the Universal Windows platform now means that from this single code base you can also target the entire family of Windows 10 devices—desktop, phone, tablet, IoT devices, and eventually HoloLens, Xbox, Surface Hub, and more. Your Cordova apps targeting Windows 10 can smoothly transition between usage modes, such as from desktop to tablet when the user removes the keyboard. They can also take advantage of all the new features of Windows 10, such as Cortana integration.

Windows 8.1 apps written with HTML, CSS, and JavaScript—with or without Cordova—will continue to work with full fidelity on Windows 10. If you target Windows 10, however, you’ll be able to take advantage of changes to the security model for Windows Web apps that allow you to write apps in a way more natural to web programming styles. For instance, new security policy changes mean that you can use the JavaScript libraries you love, such as Angular and Bootstrap, while still having the power of direct access to the Windows Runtime Library (WinRT).

You don’t need to be running Windows 10 on your development box to build, run, and test your Cordova Windows 10 app. If you’re running Windows 8.1, you can use an emulator to run your app. Also, if you’re running Windows 7 or Windows 8.1, you can deploy to a remote Windows 10 machine or device.

If you prefer to build for Windows 8.1 and Windows Phone 8.1, you can continue to do so using the windows-target-version and windows-phone-target-version properties in your project’s config.xml file.

Let’s get started building an Apache Cordova app targeting Windows 10.

Installation Prerequisites

The next sections detail adding the Windows 10 Cordova platform to your project.

Use the Cordova Windows platform

If you have an existing project that you’d like to add Windows 10 support to, skip down to “Adding the Windows 10 platform to your Cordova project”.

Create a new Cordova project

Open Visual Studio and create a new project using the File > New > Project menu, then select the JavaScript > Apache Cordova Apps > Blank App template to create a new Cordova project.

New Project Dialog

Add the Windows 10 platform to your Cordova project

First, Visual Studio needs to use Cordova CLI version 5.1.1 or later. Open the Cordova configuration designer by double-clicking on config.xml in the Solution Explorer. Choose Platforms on the left and then set the Cordova CLI textbox to 5.1.1:

Change CLI Version

Save your changes, and then close the configuration designer using the X in the tab strip. This is important because the next step will download a new configuration.

Now set Windows-AnyCPU as your build target in the toolbar (as outlined below), and then build the solution using the Build > Build Solution menu item.

Build Target

Your first build will take a few moments because it’s using node package manager (npm) to pull down the updated Cordova platform and add it to your project. You can see its progress in the Output Window.

Now that your project has the correct version of the Windows platform, reopen the configuration designer by double-clicking config.xml. Choose Windows on the left, double-click on config.xml to reopen the configuration designer, select the Windows tab on the left, and then change the Windows Target Version to Windows 10.0:

Windows Target

Add a plugin to your app

You can also add a plugin to your app through the configuration designer’s Plugin tab. This shows a list of core plugins on the Core tab, lets you point to any other plugin (whether local or on Git) on the Custom tab, and shows you which plugins are already part of your project on the Installed tab.

Plugins

Build and Run the app

To build and run for Windows 10, ensure the build target is set to Windows-AnyCPU. To deploy the app, choose a deployment target. If you’re running Windows 10 on your dev box, you can choose Local Machine to deploy locally, Remote Machine to deploy to another Windows 10 device, or an emulator. If you’re running Windows 8.1, you can choose between Remote Machine and the mobile emulators. For Windows 7 developers, choose the Remote Machine option.

If you are running on Windows 10 and choose to deploy locally, pick the deployment target Local Machine, then choose run. If you get a message about Developer Mode, follow the instructions to enable Developer Mode on your machine. After a short time, you should see your app running.

Build and First Run

If you’re running on Windows 8.1, you can choose one of the available emulators from the deployment target menu.

EmulatorChoice

Then run your app. You should see the emulator appear and your app running in it.

Emulator

Learn More

You can find more information on building for and using the Windows 10 Cordova platform on the Apache Cordova site. If you’d like to learn more about building Universal Windows app targeting a variety of Windows 10 devices, check out Soma's post for details on building Universal Windows apps in VS 2015, refer to Windows Dev Center, or watch videos on how to develop using Visual Studio 2015:

Finally, give us feedback on the Cordova Windows 10 platform using the ‘Windows10’ tag. We look forward to hearing from you.

 

Polita Paulus, Principal PM Manager, Visual Studio Client Team

Polita Paulus works on TypeScript, Tools for Apache Cordova, and the JavaScript Language Service. Over the years, she’s worked on several projects, mostly centered around making web developers’ lives a little better. Outside of work, she likes bikes and running.

Visual Studio Customer Feedback Channels

$
0
0

We’ve shipped Visual Studio 2015 RTM and you have all been a key part of this with your feedback and great ideas, Thank you! But wait, that doesn’t mean your job is over :). We still need to hear from you about what is good, bad, or ugly in VS 2015 so we can know what to do more of, what to fix, and what to avoid. We look at EVERY piece of feedback that you send to us to decide what to fix, what to change, and what we need to do in our next version. If you don’t tell us, we won’t know and we’ll do what we think you want and we aren’t always good mind readers.

So what do we want you to do? Tell us what you think about Visual Studio 2015 so that we can use your input to make the product better! In this series of posts, we’ll describe your different options to give us feedback, talk about how we use that feedback, and share where we are taking the feedback tools in future versions of the product. This first post will help you understand the various feedback channels, and when to use each one.

If you already know how to use our feedback channels we’d love to know what you think about them. As I already mentioned we are looking to improve your experience when providing us feedback. I have a short survey that I’d like you to take (I promise, no more than 7 questions) to see how important some of the areas we are thinking about are to you. We’ll use this to help prioritize our work in the next few months. You can fill out the survey here: Visual Studio Feedback Survey

Send a Smile in Visual Studio:

Where is it?

This is the smiley face icon in the upper right hand corner of the Visual Studio IDE. (See full instructions on Send a Smile).

Send a Smile located in top right corner of Visual Studio

What does it do?

This lets you provide feedback, both good and bad, or tell us about a problem, all from within the IDE. While working in Visual Studio this gives you the option to attach screenshots (you can crop and adjust), dump files and profile traces to your feedback via the tools built into Send a Smile.

When and why should I use it?

Anytime you want to tell us something you do or don’t like, or tell us about a problem, this IS the place to go. Send-a-smile lets you attach a LOT of data and information that will help us understand and fix your problem. It will also let you provide your email address so we can contact you if we need more information and lets us get in touch with you if there is a fix or workaround for your problem.

Send a Smile UI for providing screenshots and other details with your feedback

Connect Site (via either the web or from the IDE):

Where is it?

You can access Connect via the “More Options” selection under the Smiley Face drop down menu or you can go to the Connect site for Visual Studio to file a bug and track progress on your bug. When accessed from the Smiley Face menu the Connect page opens with in the IDE in a new editor tab.

Connect site for logging bugs visible in Visual Studio

When you go here you will be logged into Connect (if you are logged into your Microsoft account) or will be prompted to login.

What does it do?

It lets you submit bugs and search for bugs that others have already submitted. Additionally you can add your vote to an existing bug and see if there is a solution / workaround already available for it.

When and why should I use it?

If there is an issue you are experiencing or a bug, you can report it through Send a Smile or through Connect. Send a Smile is the preferred feedback channel because it allows you to provide more data and provides all the tools you need to capture that data. Connect does not provide tools to capture additional contextual data, but will allow you to search for existing bugs and track the bugs you have submitted. We realize having multiple feedback channels for a similar purpose is redundant and are working to provide a single way for you to tell us about problems and to track your feedback. In an upcoming post I will share more on the improvements we have in mind. Meanwhile, please use Send a Smile to send us your feedback and to log bugs.

User Voice:

Where is it?

That’s simple: http://visualstudio.uservoice.com/. On User Voice you find suggestions either by searching for the area you are interested in or you can browse via the areas listed on the right.

User Voice site

What does it do?

Unlike Connect, which is for logging bugs, UserVoice a place for you to suggest what new features, new functionality, and updates would make Visual Studio even better. User Voice allows you to view, vote, track, and comment on everyone’s suggestions. It is also a good place to discuss how useful a suggestion really is, such as how often you’d really use it and if there are development scenarios where it wouldn’t work or cause a problem. Your votes and discussions help the product team set our prioritize the suggestion.

When and why should I use it?

If you have an idea or suggestion for Visual Studio, VS Code, or TFS\VSO please use the UserVoice site to share your ideas and/or find and vote on an existing suggestions made by other customers. You could also use the User Voice site to find the most common requests and see if they are something you would like to vote for. If you are experiencing a problem or think you have a bug to report, however, please use Send a Frown or Connect instead.

Forums:

Where are they?

There are two major groups of forums where you can participate.

MSDN Forums: On MSDN forums you can search for the forum area you want either via search or browsing the Forum list on the left side of the page.

MSDN Forums

StackOverflow: On Stack Overflow you can search for the area you want either via search or by looking at the Tags option at the top of the page.

Stackoverflow

What do they do?

Forums let you find answers to questions you have or problems you run into by either searching through existing questions or by allowing you to post questions of your own.

When and why should I use them?

Forums are all about working with the broader community, including Microsoft staff and others with expertise or interest in key areas. Where UserVoice provides direct feedback and voting information about your request to Microsoft, the forums are places for discussion and sharing knowledge and ideas. Forums are a great place to see what answers may already be out there for your question or problem and to see ideas and feedback from a variety of different people and perspectives. If you just want to see what is “buzzing”, Forums are the place to go.

MSDN forums tend to be focused on a specific product and have a lot of Microsoft engineers involved. Questions posted on Stack Overflow, on the other hand, are marked with any number of tags that identify the relevant technologies, often spanning many different products and companies. Tags really help make your questions visible to the right set of experts. We encourage you to view both and use the forum that fits your participation style best.

The challenges and where we go next

If you have any questions or problems with giving us feedback or suggestions, you can reach us by emailing Visual Studio Feedback Team

We have given you a number of ways to give us feedback and that is both good and bad. Good because you have a lot of options and Bad because you have too many choices. We are working to make it easier for you to provide feedback, report problems, and view your feedback and bugs in one single place. Over the next few months, I’ll share our approach and will be asking you for feedback. Like with Visual Studio, I hope you’ll share your feedback and help make the feedback tools more efficient.

Now that you know what each feedback tool does and when to use it, I have a short survey that I’d like you to take (I promise, no more than 7 questions) to see how important some of the areas we are thinking about are to you. We’ll use this to help prioritize our work in the next few months. You can fill out the survey here: Visual Studio Feedback Survey

As I mentioned above, every piece of feedback gets looked at by a real person here at Microsoft. In the next post, I’ll take you through the lifecycle of a feedback item, what happens at each stage, and how we decide what to do. Stay tuned…

imageKevin Lane, Sr. Program Manager, Visual Studio Customer Team

Kevin has been with Microsoft since 2001 working in SQL, Windows Server, Office and now Visual Studio. He drives the customer feedback tools, is addicted to talking to customers and understanding what drives them crazy.


Roaming Extension Manager: Control and Consistency down to the last Extension

$
0
0

[UPDATED 7/31] On 7/31 we released an update to the extension. This update includes notifications for extensions, and a change in the UI where the status icons (installed / roaming) are on the left.

[Original Post]

On July 28th, we released Roaming Extension Manager, an extension that will help you better manage your Visual Studio extensions across multiple machines. Hold the applause! For those of you who are unfamiliar, the Roaming Extension Manager “roams” your list of extensions, so now when you are setting up a new development environment or simply trying to push a few extensions from one machine to another, you don’t have to remember the names of the extensions or take screen shots. Instead, we provide you with a list displaying all of your extensions installed across all of your environments and allow you to download directly from that list.

How does this actually work? We create a cloud based Roaming List that tracks the extensions you have installed across all of your Visual Studio development environments looking just like this:

Roaming Extension Manager showing list of your installed extensions

Extensions in your Roaming List can be in 3 different statuses. At the top of the list shown in the above screenshot you see, Roamed Extensions Icon indicating that the extension is roamed but not installed on this machine. These are extensions that are set to be roamed, but have not yet been downloaded onto this machine. In other words, these extensions are being roamed from another machine, and are available for download on this machine. In the middle, Icon indicating that the extension is installed on this machine and is roamed to other machines, are extensions that have been installed on this machine and are roaming to other machines. If another machine is missing this extension it will appear in that machine's list as a Roamed extension Icon indicating that the extension is roamed but not installed on this machine. The last icon you see in the list above, Icon indicating that the extension is installed on this machine but not roamed to other machines, indicates extensions that are installed on this machine, but are not set as roamed. These will not appear on any other machine as they are not being roamed.

Autonomy without loss of control

While developing this tool we focused on creating an extension that provides you with not only autonomy, but also the ability to fully self-manage your extensions as needed.

From our earlier conversations with you, we learned that it’s best to automatically set all downloaded extensions to roam by default. That is, any extension that you download while signed in will automatically be added to your Roaming List as Roamed-Installed (Icon indicating that the extension is installed on this machine and is roamed to other machines). If you download an extension when not signed into the IDE, on your next sign in we will add these extensions to your Roaming List.

At this point you can just sit back and let us handle the rest. When you want to add an already installed extension onto another machine, just go to the Roaming Extension Manager to download your extension.

Now, every so often you might have an extension you don't want to be roamed to other machines. Controlling what is and isn't being roamed is easy to do, via Stop Roaming/Start Roaming buttons. An extension changes from Icon indicating that the extension is installed on this machine and is roamed to other machines to Icon indicating that the extension is installed on this machine but not roamed to other machines when Stop Roaming is applied; conversely an extension will change from Icon indicating that the extension is installed on this machine but not roamed to other machines to Icon indicating that the extension is installed on this machine and is roamed to other machines when Start Roaming is applied. Don’t worry if you accidentally stop roaming an extension by mistake, all installed extensions will be viewable in your Roaming List for you to easily start roaming at any time.

Not on the Gallery, Not a Problem

We have you covered in the case when you have created your own extension or are using an extension not currently available on the gallery. Any such extensions will also be roamed for you, with the caveat that the Roaming Extension Manager cannot download them for you. What you will see instead is a name and description of the extension, so you can easily search for it and install it.

Installed extension not on the gallery also show in Roaming Extension Manager

[Update] Notifications

On July 31st, we released a new update for the Roaming Extensions Manager featuring: Notifications. When you start Visual Studio, if we notice that you have installed an extension on another machine, but do not yet have it installed on this machine we will let you know via the Notification Hub. Additionally, we will notify you when there are any updates for the extensions you have installed. This way you can easily keep your extensions consistent and current across all your machines!

Moving Forward

If you have any bugs, possible improvements, or additional functionality you would like to see in the extension let us know by adding suggestions on UserVoice, visit us on Stack Overflow with tag “visual-studio-extensions”, or leave a comment below.

Peaky Yuter, Program Manager Intern, Visual Studio IDE Extensibility Team

Peaky is a Program Manager Intern on the Visual Studio IDE Extensibility Team. He is currently a rising senior at Cornell University majoring in Computer Science.

Why write Python in Visual Studio?

$
0
0

Recently, Visual Studio 2015 was released with support for Python. Python Tools for Visual Studio (PTVS) are available to help throughout Visual Studio in all the places you’d expect, from editing and IntelliSense, to debugging, profiling, and publishing to Azure. You can find all the details and some video walkthroughs, documentation, and other resources on visualstudio.com, and the post announcing Python Tools 2.1 and Python Tools 2.2 beta. In this post I want to talk about some of the reasons to consider using Visual Studio next time you are working in Python.

IntelliSense is actually pretty helpful

I know, we talk about IntelliSense all the time. Visual Studio has always had great IntelliSense for all of its languages, so if you’ve been coding in C# or VB for the last fifteen years you aren’t even impressed anymore. Python developers have not been so lucky, having to be content with only minimal code suggestions and basic syntax highlighting.

Unlike many other languages, Python code does not need you to specify types everywhere. This saves a lot of time while coding, but it requires a deep understanding of your program and every bit of help from your editor is important. Most editors do not provide helpful tips and force you to keep your entire program's operation in your own head.

In Visual Studio, we provide this deep understanding for you. Using full-program analysis, we track variables from the first time they are initialized to every place they are used. You can mouse-over any variable to see what types it could be at that point, or “dot-through” to see its members.

Hover over to see types or dot-through to see members We’ve spent a lot of time optimizing our analysis for common Python patterns. Here are some things to try out:

  • Put different types into a tuple and then unpack them later
  • Call a function with different arguments and look at the return values
  • Add a value to a list that’s been passed into a function
  • Make a subclass and start typing some method overrides

Debugging is a big deal

Similar to IntelliSense, interactive debugging in Python is a fairly recent development. Python developers traditionally spent a lot of their time at a terminal or command prompt, switching back and forth from their editor, and so early command-line debugging tools developed around this workflow. For exampleEarly Debugging

Although this kind of debugging is tolerable for very small projects, it can be very disorientating to step through code in this way, and becomes very inefficient for projects of any significant complexity. In contrast, Visual Studio overlays the debugging interface directly on your code in the editor, so you can see your breakpoints, current statement, and call stack in the same context.

Debugging with Visual Studio

Customizable Watch windows and floating expressions automatically update, so you can keep track of values without having to repeatedly ask for them, and it’s easy to jump up the call stack and review the variables that lead to the current state.

The best part is that this debugging is implemented using standard Python interfaces. So you don’t need a special version of Python to get it, and your code can run on Windows or any other platform. We can also use some non-standard interfaces with recent CPython versions to provide mixed native/Python debugging, letting you move between C/C++ and Python code as easily as pressing Step In. And when you want the keyboard-oriented experience, we have a Debug Interactive window with that functionality.

“Large” projects are really large

Everyone has a different concept of how large a “large” project is. Is one hundred files “large”? What about a thousand classes? Ten thousand lines of code? Regardless of the measurement, as your project becomes larger it gets harder to find your way around it, safely make changes, and keep the rest of your team updated.

Although the rich IntelliSense in Visual Studio will show you what you need from anywhere in your project, it can also help find all references to your classes and functions in a way that’s much more meaningful than just going a global text search. Go To Definition and Find All References are valuable tools for navigating your code, while Navigate To will help you find files, classes or function with smart filtering.

Tools to navigate large projects

Application Lifecycle Management with Python Projects

A rich set of features for application management are available with Visual Studio Online, including TFS and git version control, interactive code reviews, online planning dashboards, team rooms, hosted test, build, deployment services, and integration with even more third-party services. All of these features can be used with Python projects directly within Visual Studio, through the Team Explorer Everywhere plugin for Eclipse, and through any web browser. In short, when managing a project in Python or any other language, Visual Studio helps keep everyone in your team moving ahead together, whether you’ve got one hundred or one million lines of code.

How do I get it?

A lot of Python code is open-source, and if you’re working on it, you can get Visual Studio 2015 Community Edition for free. You may also have access to Visual Studio 2015 Professional or Enterprise through your employer or school. In any of these cases, you don’t need to download and install the Python Tools for Visual Studio separately: they’re available directly through Visual Studio’s setup.

Visual Studio Community 2015 Setup

On our release page you’ll find sample packs and extensions, as well as the main installers. If you would prefer to use Visual Studio 2015 Express for Web or Express for Desktop, or you are still using Visual Studio 2013, you will need to get the installer from the release page.

Finally, PTVS is a free, open-source project and we accept community contributions. Come visit our page on github to get involved, provide feedback, ask questions, or try out our latest features before they are officially released.

 

SteveDower, Software Engineer, Python Tools

Steve is an engineer who tells people about Python and then gives them excuses to use it and great tools to use it with. He works on Python Tools for Visual Studio, contributes to many of Microsoft’s Python libraries, and is a core contributor and Windows expert for CPython.

Visual Studio 2015 FAQ

$
0
0

Since we released Visual Studio 2015 on July 20th we’ve been busily answering questions on our forums, here on the blog, on Connect, and on StackOverflow. Here are some of the common questions.

Install / Setup

  1. Why is my setup taking so long / hanging partway through. What’s going on?
  2. Where are the ISO Images for VS 2015?
  3. Can I create a custom ISO image that includes all the third party software?
  4. Can I upgrade from VS 2015 RC to VS 2015 RTM?
  5. Does VS 2015 work side by side with VS 2013, or VS 2012?

Licensing / Purchase

  1. I signed into the IDE, but it’s still telling me that the trial will expire. What’s going on?
  2. Community Edition is telling me my trial has expired. Do I have to pay for Community edition?
  3. Why do I have to sign in with my Microsoft account every day to access Azure resources?
  4. Where can I buy Visual Studio Pro without MSDN (Pro only)?
  5. I already have a paid SKU of VS 2013. Do I need to pay for VS 2015?

Tools / Features

  1. I installed VS 2015 but can’t find tools for Windows 10 development. Where are they?
  2. I can't find Visual Studio 2015 in the Start Menu. Is my VS install corrupt?
  3. Why do the diagnostics tools fail unexpectedly?
  4. How do I use NuGet in a Cordova project?
  5. When saving Xaml files or switching between Xaml and C#, VS locks up for a few seconds. Why is this and how can I workaround it?

Install / Setup

1. Why is my setup taking so long / hanging partway through. What’s going on?

In VS 2015 you can chose to configure your setup to only install the tools you want, which makes the install lighter and faster. If you chose to do a full installation though, Visual Studio is a pretty big product and will take over 30GB of disk space after installation and it installs a lot of third party software including the Android SDK, the Java Developer Kit, and the Windows and Android emulators. The progress indicator during installation of the third-party software doesn’t advance, but the software is usually being installed — that’s a bug we’re going to fix. On a slow connection in particular, download can take a very long time or even time out. If setup doesn’t complete successfully, try the ISO image.

2. Where are the ISO Images for VS 2015?

Browse to https://www.visualstudio.com/downloads/download-visual-studio-vs and select Visual Studio 2015 from the left navigation on the page. Select the product you want, then in the drop down for “choose format,” select ISO.

3. Can I create a custom ISO image that includes all the third party software?

You’re going to want to use the /layout switch on setup to create an offline setup. To do that, browse to https://www.visualstudio.com/downloads/download-visual-studio-vs and select Visual Studio 2015 from the left navigation on the page. Select the Web (Online) format for the installer and when prompted by the browser, save the file. Then go to the command line and run that setup program from where you saved it, but include the /layout switch. This MSDN article section on Downloading VS for an offline installation MSDN explains more about how to do that.

4. Can I upgrade from VS 2015 RC to VS 2015 RTM?

Yes. Visual Studio 2015 RTM installs right on top of VS 2015 RC or any other previous CTP for VS 2015. Go to downloads page on visualstudio.com to start the VS 2015 RTM download.

The upgrade however works only when upgrading at the same SKU level e.g. upgrading from VS 2015 RC Professional to VS 2015 RTM Professional. The upgrade from RC to RTM won’t work if the SKU level is different, e.g. when upgrading from Community to Professional, Professional to Enterprise, or downgrading from Enterprise to Professional, or Professional to Community. In this case you will need to uninstall the existing version of VS 2015 before installing VS 2015 RTM . Check out this MSDN library on Installing Visual Studio for more info on troubleshooting and repairing your installation.

5. Does VS 2015 work side by side with VS 2013, or VS 2012?

Yes Visual Studio 2015 works side by side with VS 2013, &/or VS 2012. This MSDN article on Installing VS Versions side-by-side provides details on how this works.

Licensing / Purchase

1. I signed into the IDE, but it’s still telling me that the trial will expire. What’s going on?

The odds are that the account you signed in with doesn’t have an MSDN subscription or Visual Studio Online subscription associated with it. Sign in with an account that does and the license should be issued automatically or apply a product key

2. Community Edition is telling me my trial has expired. Do I have to pay for Community edition?

No, Community edition is free to use. We use the same infrastructure that allows you to unlock VS w/ an online subscription to manage the requirement of signing into Community edition so some of our strings overlap cross these scenarios. Trial here means the period you can use the community edition before you must sign in to fully unlock the IDE.

3. Why do I have to sign in with my Microsoft account every day to access Azure resources?

The token issued for a Microsoft account have a fixed 12-hour lifecycle. We are working on improvements that will allow us to apply a more liberal lifecycle policy on the tokens issued for MSAs through Azure. In the interim we recommend setting a Work or School account as the administrator for subscriptions you access frequently because tokens issued to Work or School accounts have a more permissive lifecycle policy. You can add an additional account to Visual Studio under “File -> Account Settings” and access azure resources throughout Visual Studio by selecting that account from the Account picker that appears.

4. Where can I buy Visual Studio Pro without MSDN (Pro only)?

It will be available for sale via resellers and the online Microsoft Store starting on September 1st, the delay is due to channel logistics. In the meantime you can rent Visual Studio Professional 2015 monthly for $45 (US pricing). Details on how to buy are on the get user licenses page on visualstudio.com. You will need to choose the Visual Studio Online Professional plan and then you can sign in to the Visual Studio Professional 2015 trial and it'll work.  We don't however offer product keys through Visual Studio Online.

5. I already have a paid SKU of VS 2013. Do I need to pay for VS 2015?

Yes.

Visual Studio 2015 does not install on top of VS 2013, but is installed alongside VS 2013. You can however, try VS 2015 for free for 30 days, after which your license will expire. Additionally you can use Visual Studio 2015 Community for free. Check out the license terms for using VS Community.

Tools / Features

1. I installed VS 2015 but can’t find tools for Windows 10 development. Where are they?

During setup, Windows 10 tools aren’t turned on by default. Re-run setup (e.g. Go to the control panel and select Visual Studio and click modify or change) and click on the Advanced button. You’ll see a check box there for the Win10 tools. Turn it on and proceed.

2. I can't find Visual Studio 2015 in the Start Menu. Is my VS install corrupt?

No, your VS install is not corrupt. The Visual Studio 2015 application icon has been moved outside of the Visual Studio 2015 folder. If you're running Windows 7, you can find the application at the top of the "All Programs" list grouped with other application icons. If you are running Windows 8, 8.1 or 10,  you can find the application listed under the ‘V’ grouping. If you are still unable to find it, use Windows search (press the Windows key, then type “Visual Studio 2015”).

The application icon will no longer be located in the Visual Studio 2015 folder.  

3. Why do the diagnostics tools fail unexpectedly?

The primary cause for this is a known issue for those of you that have upgraded from an earlier preview version of Windows 10. If you are on Windows 10 you can confirm the issue by switching to the “Diagnostics Hub” tab of the output window, and you will see “No such interface supported” in the output. More information, including workaround steps to resolve this issue please read the post on No such interface supported in VS 2015 on Windows 10. Other causes of the window failing unexpectedly are being actively investigated, if you experience other failures please report these using the Feedback tools in Visual Studio 2015.

4. How do I use NuGet in a Cordova project?

We’re working on guidance documentation to help you with this. We are also closely monitoring your feedback and are looking at improve this experience.

5. When saving Xaml files or switching between Xaml and C#, why does VS lock up for a few seconds. How can I workaround it?

This is a bug. We are working on a fix right now. Meanwhile the workaround is to remove msbuild:Compile property from file properties.

Check out the Visual Studio 2015 KB for other bug fixes and workaround we have shared for this release. Is your question or bug not answered anywhere? Please leave us a comment below and we will help you as best we can.

 imageRadhika Tadinada, Program Manager, Visual Studio
@RadhikaTadinada

Radhika has been at Microsoft for almost 4 years. She first started off as a Program Manager on the Visual Studio Platform team where she helped build IDE features. She is currently with the Customer team and manages the Visual Studio blog.

Top News from July 2015

$
0
0

Hello everyone! Every month we share some top stories from the previous month, and here’s our round-up for July.

Visual Studio 2015 and .NET 4.6 Available for Download. Within the Visual Studio team, we’re clearly delighted with the release of Visual Studio 2015 as Soma announces on his blog! This release fulfills the promises we made at last November’s Connect(); event, and to get the big picture context you’ll want to watch the Visual Studio 2015 keynote- Any app, Any developer, with Soma, Scott Hanselman, Brian Harry, Beth Massi, and Amanda Silver. The news items that follow below highlight some of the major feature areas, and for .NET specifically, Rich Lander shares much more in his post, announcing .NET Framework 4.6.

Visual Studio 2015

Launch of the allReady project. In the VS 2015 keynote mentioned above, you’ll also see and hear about the launch of the allReady project, focused on increasing awareness, efficiency, and impact of preparedness campaigns as they are delivered by humanitarian and disaster response organizations in local communities. Whoa—this sounds like a real project! Well, it is, because you can take fictitious demo apps only so far (can you say “Contoso”?). With Visual Studio 2015, Visual Studio Online, and Azure, we wanted to engage in a real open-source project with real-world value, which would also make a great demonstration of our tools and technology. That’s the allReady project, and to learn all about it—perhaps to also get on board and make contributions on GitHub—watch the In The Code with Visual Studio 2015 video series.

AllReady

What's New in the Visual Studio 2015 IDE? Plenty, as this blog post from Ji Eun Kwon and Tarek Madjour in the Visual Studio team describes in detail. With Visual Studio 2015 you’ll enjoy a lighter and faster customizable setup, the ability to publish to Visual Studio Online, light bulbs and the enhanced error list, a touch-friendly editor, cleaner project structures, better support for extensions, and more. Visual Studio 2015 also makes radical improvements to the sign-in experience and how you connect to online resources. Ji Eun Kwon and Anthony Cangialosi explain all this in Identity Management Features in Visual Studio 2015. The short of it? We’ll all be spending less time entering credentials and fiddling with identity matters.

Debugging, Profiling, and Diagnostic Tools in VS2015. Visual Studio 2015 addressed many developer requests, including lambda debugging, Edit and Continue (EnC) improvements, child-process debugging, plus revamped core experiences like powerful breakpoint configuration and a new Exceptions Settings tool window. The team also pushed the state of the art by integrating performance tooling into the debugger with PerfTips and the all new Diagnostic Tools window which includes the Memory Usage tool and the redesigned IntelliTrace for historical debugging.

Diagnostics Tool

ASP.NET 4.6 and ASP.NET 5 Roadmap. In the Visual Studio 2015 keynote, Scott Hanselman shares all the work that’s been done for the newly-released ASP.NET 4.6, which he outlines in more detail with this post. The ASP.NET 5 Schedule and Roadmap is itself now on GitHub, and shows that we can expect beta releases to continue throughout the summer, the first release candidate coming in November, and the final release sometime in early 2016. What’s very exciting is that ASP.NET 5 runs on both .NET 4.6 and on the cross-platform .NET Core Framework that supports Windows, Mac, and Linux.

Application Insights Tools in Visual Studio 2015. Visual Studio has great features to support every phase of your development cycle, and Application Insights is there for monitoring the performance and usage of your production applications across all types of apps on all platforms including the web, iOS, Android, and J2EE. In this post, Dimah Zaidalkilani gets you started with Application Insights, showing how much the service is integrated into Visual Studio 2015.

Reporting on Work Items with Power BI. “When will I get the ability to report on work items?” has been a frequent question ever since reporting with Power BI against Git and Team Foundation Version Control was introduced. The answer is “yesterday,” (or to be specific, mid-July 2015) and you can get started at the Power BI portal for Visual Studio Online.

The Glimpse Team Joins Microsoft. Glimpse is an open source web debugging and diagnostics tool that’s been used by thousands of ASP.NET developers to gain insight into the inner workings of their applications and to identify performance enhancement opportunities. In July, we were delighted to welcome the creators of Glimpse, Nik Molnar and Anthony van der Hoorn into the Visual Studio team! Here they’ll strive to narrow the tooling gap by continuing their quest to make the web a better place through performance, diagnostics, and debugging tooling, all the while keeping Glimpse an open source project.

GlimpseAnthony, Nik, Scott Hanselman, David Fowler, & Phil Haack at the unveiling of Glimpse at Mix ‘11

The Roadmap for WPF. Speaking of roadmaps, Windows desktop developers have been pleased to know that the Windows Presentation Foundation (WPF) is alive and well, and continues to be updated with new features. Indeed, it’s a quintessential part of the .NET Framework, and the WPF team tells us that they’ve been continually improving WPF with things like multi-image cursor file support, transparent child windows, and better double-tap gesture recognition and text selection. In their roadmap, they also describe their primary areas of future investment, based on the feedback from you and other WPF developers: performance, DirectX interop, support for modern hardware, and tooling, which has already manifest in features like the Timeline Tool.

Timeline Tool

A Complete List of Windows Development Tools. As you’re reading this, you already know that Windows 10 has been released, and you’ve probably already installed it. Scott Ge, who describes himself as a collector of Windows Tools (when in fact he’s an extraordinary dev at Microsoft with whom I’ve had the pleasure of working with on the Microsoft Press Guided Tour app), has pulled together quite an extraordinary list of tools that you’ll want to know about. This includes everything from the best Visual Studio extensions and .NET tools, to code/text editors, code comparison/cleanup/sharing/version control tools, debugging and performance profiling tools, decompilation tools, testing and automation tools, and, well, I stopped a merely halfway down the page because there’s so much more. Scott, perhaps you really are a collector first, and a dev second?

Creating a Windows Universal App from Your Existing Web Sites Using Visual Studio 2015. Windows 10, by the way, makes it very easy to produce a Windows Universal app from a web app. Here, Arun Kumar gives you four steps to make that happen: creating an app project, deleting the usual files for an app, configuring the manifest to point to a remote start page, and running the app. That’s it. And lest you worry about losing access to features that make a Windows app special, fear not: you can still integrate Cortana, use live tiles, use toast notifications, and support in-app purchases from the Windows Store.

Javascript Rules the School but C++ Climbs in Popularity. InfoWorld reports that although JavaScript “continues to rule the day,” C++ is rising in the monthly Tiobe language popularity list, with a 3.1% usage increase compared to last year along with higher ratings. We’re certainly seeing the same thing, and know that C++ has benefited greatly by the C++11, C++14, and the evolving C++17 standards, for which there is tremendous support in Visual Studio 2015. You can keep up to date with all our progress with C++ on the Visual C++ Team Blog. In this context, it’s worth mention that Minecraft for Windows 10 Edition Beta is available, which, being written in C++ instead of Java, is reportedly demonstrating stunning levels of performance, one of the most attractive characteristics of C++.

And finally, I’ll let the title of this post from Eric Ligman speak for itself: I’m giving away MILLIONS of FREE Microsoft eBooks again! Including: Windows 10, Windows 8.1, Windows 8, Windows 7, Office 2013, Office 365, SharePoint 2013, Dynamics CRM, PowerShell, Exchange Server, Lync 2013, System Center, Azure, Cloud, SQL Server. I hope you have a good broadband connection.

To see what else we’ve shared recently, check out top news from May 2015 and top news from April 2015, along with recent posts on the Visual Studio Blog.

By the way, you might notice that there’s a different face at the end of this post. That’s because Radhika will soon be on maternity leave (congratulations!) and I’ll be filling in for a time.

Enjoy!

imageKraig Brockschmidt, Senior Content Developer, Visual Studio
@kraigbro

Kraig has been around Microsoft since 1988, working in roles that always have to do with helping developers write great software. Currently he’s focused on developing content for cross-platform mobile app development with both Xamarin and Cordova. He writes for MSDN Magazine, is the author of Programming Windows Store Apps with HTML, CSS and JavaScript (two editions) and Inside OLE (two editions, if you remember those) from Microsoft Press, occasionally blogs on kraigbrockschmidt.com, and can be found lurking around a variety of developer conferences.

Introduction to Debugging

$
0
0

Whenever those of us in Visual Studio give talks or write blog posts about debugging, we typically focus on tips and tricks and new features that take for granted you already know the basics of debugging. The problem with this is like most things in life debugging is a skill you have to learn before you can take advantage of tips and tricks. To this point I recently sat down with Seth Juarez from Channel 9 for a talk introducing the basics of debugging in Visual Studio. For those of you who prefer the printed word, in this post I’ll cover the concepts I hit on in the video. For the purposes of the video and this post I’m using a C# application, although with the exception of Edit and Continue everything applies to any language you can debug with Visual Studio.

Start Debugging and Continue Execution

To start debugging you can click the “Start” button on the toolbar, go to the Debug menu and select “Start Debugging”, or use the F5 shortcut key.

Debugging Start Button in ToolbarOnce you are debugging this becomes a “Continue” command, meaning if you are at a break state in the debugger (either at a breakpoint or have been stepping through code) this will tell the application to resume normal execution.

When Deugging Button Turns to Continue

Breakpoints

A breakpoint is a debugging concept that tells the debugger to break (pause) the application’s execution at a specific line of source code before it is executed. This is useful when you need your application to run to a specific area of code and then use the debugger to drill into what is going on. To set a breakpoint on a line of code click in the left margin in the text editor for the line of code you want the breakpoint on or place the cursor on that line and Press the F9 key.

Click in left margin to set a Breakpoint

You will then see a red circle appear that indicates the breakpoint has been set on that line. When you hit the breakpoint it will highlight the line and there will be an arrow in the breakpoint column referred to as the “instruction pointer” that tells you this is the next instruction that is about to execute.

When Breakpoint is set, a pointer appears in left margin

Breakpoints can be configured to provide additional conditions and actions beyond just stopping execution every time they are hit. You can configure them to stop when only specific conditions are met or print information and continue execution. For more information read this blog post dedicated to conditional breakpoints, or watch this short demo about using Breakpoint Settings.

Once you hit a breakpoint, you will likely want to use variable inspection and stepping to investigate further, and we’ll cover these features next.

Variable Inspection

When you are stopped in the debugger you will frequently want to inspect the values of variables in your application. The debugger provides several ways to do this including:

  • DataTips: When you hover over the variable in the editor while paused in the debugger a DataTip will show you the value of the variable
    DataTips
  • Locals Window: Shows you all variables defined in the current function you are debugging. The window does not show the values of global or class member variables used in the current function
  • Watch Window: Enables you to type the name of any variable or property you are need to inspect
  • Autos Window: Shows the values of variables used within a few lines of code (before and after) where you are currently stopped as indicated by the instruction pointer. The Autos window does not work for all languages (e.g. Autos are not shown when debugging JavaScript)
  • Immediate Window: is a console style window that prints the values of any variable you type into the window.
    Immediate Window

The Watch and Immediate windows support entering complex expressions. Meaning you can do more than inspect just variables in your application you can type things like shapeName == “Circle” or 1 + 2 and see the result of the expression in the window.

image

Stepping, Set Next Statement, and the Call Stack Window

Once you have stopped in the right area of code, you will often want to advance execution of your application line by line. Instead of setting a breakpoint on every line the debugger offers the ability to step through code:

  • Step Over (F10): Advances the instruction pointer to the next statement in the current method. If you step over a function call the function will execute and you not stop until the function returns to the current method.
  • Step Into (F11): If you are on a function call the debugger will move execution into the first line of that function. If you are on a simple line of code (e.g. int c = a + b) Step Into will behave like a Step Over
  • Step Out (Shift + F11): Completes execution of the current method and stops the debugger in the parent function

Set Next Statement is a handy feature that enables you to move the instruction pointer to start executing from a new location than it currently is. For example if you want to execute a line of code again, you can move the instruction pointer back with Set Next Statement and resume execution.

Finally when you are in a method you can see the execution path that resulted in how your application reached the current location using the Call Stack window.

image

Edit and Continue

Once you find a location in your code you’d like to modify, it can be time consuming to stop debugging, make the edit, and then run the application again to make sure your edit had the desired effect. To help with this, Edit and Continue is a feature that allows you to edit code while debugging. Edit and Continue is currently supported for C#, Visual Basic, and C++. For example in the following CalculateRectangleArea() function:

image

I can add logic to also calculate the volume without the need to stop debugging and the edits will correctly be applied to the program when I resume execution

image

Learn More

The features I covered above where a quick introduction to basic debugging concepts that will set a great foundation for you to get started with the Visual Studio debugger. To learn more I recommend reading the Debugging Tips and Tricks blog post (and watching one of the linked videos), and reading the Debugging in Visual Studio documentation in MSDN. Additionally you can follow the diagnostics team including the debugger on our team blog.

If you have any questions or comments please let me know by leaving a comment below, through Visual Studio’s Send a Smile feature, or via Twitter.

imageAndrewHall, Program Manager, Visual Studio Diagnostics
@AndrewBrianHall

Andrew has been at Microsoft for 7 years, all spent working on diagnostic tools. In his time on the team he has worked on the debugger, profiler, and code analysis tools.

Viewing all 1076 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>