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

PyCon 2015: April 8-16

$
0
0

Autos WindowMany Visual Studio blog readers probably don’t know that Visual Studio has great support for Python or that Azure Machine Learning lets you write in Python, and I’m betting even fewer of you know that our Python Tools team is heading to PyCon Montreal. We’ll be there to hang out with other people who love Python as much as us, chat about the stuff we do, the stuff you do, and have plenty of fun. Microsoft is the Keystone sponsor this year, so you’re going to see us all over the place, and we’re thrilled that our contribution helps the Python Software Foundation cover expenses and provide scholarships and travel aid for people who could not attend without assistance. If you’re attending, here are some of things we’ll be doing.

Tutorials and Workshops: April 8th-9th

Before the conference talks start, there are two days of tutorials and hands-on workshops that go deeper on topics of interest. This year, we will have two of our engineers doing tutorials. Orlando Karam will be teaching about writing Python for the Spark framework, and Chris Wilcox will be showing how to use Azure, Azure ML, and the Azure Data Market from Python. Both of these are hands-on sessions, but attendees don’t have to be existing customers or even running Windows. Python is a great cross-platform language, and as we add more Python support to our services, like the Azure SDK and Application Insights, they become really easy to use on other operating systems.

Language Summit: April 8th

Install Python 3.5.0 Python has always done a great job of supporting Windows despite most of its developers being primarily Linux users, but over the last two years we’ve been increasingly contributing to Python’s development. We have our engineers engaging directly with the community, doing bug fixes, and helping on Windows-specific issues. Some of the most significant changes coming for Python 3.5, such as the upgrade to a newer compiler and a shiny new installer for Windows, have been contributed by our engineers, and we also released a compiler package to support Python 2.7. The language summit at PyCon is when the core developers can get together to make the big decisions about Python’s future, so if you have any suggestions about how Python could be better, let us know in the comments and we’ll bring them up.

Expo: April 10th-12th

During the conference, a large expo hall is opened to allow organizations to present their products and services to attendees. Microsoft will have a booth there filled with people who can tell and show you about Azure Machine Learning, Azure App Service (formerly Websites), Python Tools for Visual Studio, and even how to use Kinect from Python. We are also keen to take this opportunity to listen and find out how we can best support Python developers on our platforms. If you’re already using Visual Studio or Azure, we would love to see what you’re doing with them. We have classy polo shirts and quadcopters to give away for anything that impresses us! (Hint: you can get a shirt even if you only just installed VS or created a website -- we’ll be impressed by anything.)

Sprints: April 13th-16th

After the main conference is over, there are four days of sprints. These are an opportunity for developers to work on their projects in person, while the rest of the year is spent collaborating over email. We will have engineers at each day of the sprints working on some of our libraries, helping on CPython development, and being available to help other developers when they encounter issues on Windows. Since many attendees won’t actually have a Windows PC handy, we’re also bringing a stack of Surface Pro 3s for people to use for testing and debugging. They’ll all have previews of Visual Studio 2015 and Python Tools for Visual Studio installed, so it’s a great chance to get hands-on with our products. We will have more details at the sprints, so come and find us there.

See you there!

Beyond what I’ve mentioned here, PyCon also has charity auctions, dinners, meetups and more events and opportunities to strengthen the community. PyCon also holds a jobs fair each year so that attendees have an opportunity to talk to recruiters who are specifically offering Python and related positions. We will be there looking for great developers, so come and see us on April 12th or apply online. We’ll also be at the lightning talks during the conference, and may even get up on stage to show off our latest libraries and tools. We are very excited to be attending and are looking forward to meeting more people who love Python as much as we do.

Hope to see you there!

imageSteve Dower, Software Engineer, Python Tools
(@zooba)

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.


Connect(“Live”); – HTML, CSS, JavaScript, & TypeScript Live Q&A

$
0
0

This week we bring you another installment of our Connect(“Live”); // Q&A series, this time featuring Mads Kristensen, Damien Edwards, and Ryan J. Salva who work on core Visual Studio capabilities for web developers. This is your chance to hear from the experts and ask questions during the free live event, we hope you join us.

  • Save the Date
  • Watch Live: Thursday April 9th at 10:00am PDT (5:00pm GMT) on the Channel 9 home page
  • Missed the live broadcast? We’ll post a recording of the live stream on our Connect(“Live”); Channel 9 page

Speakers & Expertise

clip_image002


Mads Kristensen
– Program Manager
@mkristensen

Visual Studio web developer tooling including code editor such as HTML, CSS, JavaScript and productivity features such as Browser Link. Also the creator of the very popular Web Essentials extension.

clip_image004


Damian Edwards
– Program Manager
@DamianEdwards

ASP.NET including framework capabilities such as ASP.NET Web Forms, MVC, Web API, etc. and extensive knowledge of real-time communications using SignalR.

clip_image006


Ryan J. Salva
– Program Manager
@ryanjsalva

Visual Studio web developer tooling including JavaScript and TypeScript language editors and extensive knowledge of cross-platform mobile development using Visual Studio tools for Apache Cordova.

Moderated by Seth Juarez of Channel 9

 

Please join us April 9th, at 10am PDT, we hope to see you then!

 

imageDmitry Lyalin, Sr. Product Manager for Visual Studio
@lyalindotcom

Dmitry has been at Microsoft for over 7 years, working first in Microsoft Consulting and Premier Support out of NYC before joining the Visual Studio Team and moving to Redmond, WA. In his spare time he loves to tinker with code, create apps, and is an avid PC gamer.

Recap of Connect(“Live”); Q&A Events for February & March

$
0
0

Have you attended a Connect(“Live”); event? What? You haven’t? Well, then, here’s the details: These events are 1-hour long, informal, live-streaming chats with the product teams, providing you an opportunity to ask questions and share feedback. Every few weeks we’ll bring a new team for an open mic Q&A session. Recently, on the 26th of February, we held our first Connect(“Live”) event with the Debugging and Cloud Diagnostics team; later, on March 23rd, we gave the floor to the Windows Presentation Foundation (WPF) team.

Missed the events? Watch a recording or Read a recap

If you missed these event, don’t worry we recorded them for you. You can catch a recording on Channel 9 or read a recap below.

Recap of Debugging and Cloud Diagnostics Live Q&A. Q&A with Debugging and Cloud Diagnostics TeamAt the Debugging and Cloud Diagnostics Live Q&A we were joined by Saurabh Bhatia, Andrew Hall, and Boris Scholl, moderated by Dan Fernandez. The team shared some cool demos of new features available in the latest Visual Studio 2015 CTP 6 and some sneak peeks into features coming up in the next version of Visual Studio 2015 – including features that address top customer requests like the evaluation of Lambda Expressions while debugging and how to use “Run to Cursor” versus “Set Next Statement”. Although the demos kicked off the session with style, the questions started pouring in pretty quickly and it soon became an interactive session. To keep up to date with the latest news in these areas (and Visual Studio overall), check out the Diagnostics Blog, Azure Blog, and Visual Studio Blog.

Q&A with WPF Team Recap of WPF Team Live Q&A. Later, at the WPF Team Live Q&A event, we had Harikrishna Menon Ajith Kumar, Unni Ravindranathan, and Rob Relyea from the WPF team. Seth Juarez from Channel 9 moderated. This live Q&A started off with questions at the top of many developers mind such as “is WPF in maintenance mode?” and “is Microsoft still investing in WPF?” Short answer is – “WPF is definitely not in maintenance and the team is continuously investing in it”. The team shared details on where we are investing in WPF and demoed some of the latest features. The team also addressed questions on cadence of updates to WPF libraries and assemblies given the dependency on .NET framework. This was an interactive session from the get go with the live audience asking questions faster than the team could answer! We are glad to see so much continued love for WPF. Keep in touch with the latest news in this space on the WPF Blog and Visual Studio Blog.

You’ve got a lot to say, and your feedback during these events was tremendous. A big thank you to everyone who participated.

When’s the next Connect(“Live”) Event?

The next event in this series is today April 9th10:00am PDT with HTML, CSS, JavaScript, TypeScript teams. Bring your questions about web developer tooling, cross-platform mobile app development, SignalR, and ASP.NET framework capabilities, and find out what we’re doing with Visual Studio 2015 to make you more productive.

See you there!

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.

Visual Studio Partners with Unity, Unreal, and Cocos2d Game Engines

$
0
0

A moment ago, Soma blogged that today we’re announcing that Visual Studio has partnerships with three of the top gaming engine providers: Unity Technologies (creators of Unity3D), Epic Games (creators of Unreal), and Chukong Technologies (creators of Cocos2d). The gist of the partnerships is that these three gaming platforms will provide an easy way to install Visual Studio Community, and Visual Studio will have an easy way to create games on these three platforms.

We still have engineering work to do to deliver on the co-installation, but if you’re a game developer or someone who wants to learn to create games, these partnerships will make it a lot easier to acquire the best tools for the job – pulling down Unity along with Visual Studio and the Visual Studio Tools for Unity all at once, for example.

In the meantime, you can still use Visual Studio with each of these products just as you do today, by downloading the tools separately and installing them. Just install Visual Studio 2013 Community, and get Unity (and the Visual Studio Tools for Unity), or get Unreal or get Cocos2d

John

John Montgomery 2013John Montgomery, Director of Program Management, Visual Studio Platform
@Johnmont

John has been at Microsoft for 15 years, working in developer technologies the whole time. Most recently before working on the Visual Studio core development environment, he was working on the tools for Windows 8 development.

Using RequireJS with Visual Studio

$
0
0

As applications become richer and more complex, it becomes important to structure code so that it’s easy to refactor components independently. To understand how one piece of code depends upon another, developers turn to the best practices of modularity and encapsulation to structure code as a collection of small, reusable parts. RequireJS is a popular script loading library that makes it easy to make your JavaScript modular, dividing it into these reusable parts.

Visual Studio provides great JavaScript editor support for RequireJS, with IntelliSense that can discover the modules of your application and provide accurate suggestions. If you use TypeScript, there’s built-in support for modules to compile into JavaScript that works with RequireJS. This post walks you through using RequireJS in Visual Studio with either JavaScript or TypeScript.

To use the RequireJS support in Visual Studio, install Visual Studio 2013 Update 4 or later, or Visual Studio 2015 CTP 6 or later. To follow along, you can also download the source code for the sample app.

Configuring your project

Start by adding RequireJS to your project with the NuGet package manager. You can right click on the project to show the NuGet package manager, search for RequireJS, and install it.

RequireJS in NuGet Package Manager Dialog

If you’re working with an ASP.NET 5 project, reference the “requirejs” package using the Bower package manager. You can learn more about using Grunt and Bower in Visual Studio 2015 from the ASP.NET website.

Before using RequireJS in your code, you need to add a reference to it in your main HTML file (or .aspx, .cshtml, etc.).For my application, I’ve placed require.js into a Scripts/lib folder.

<scriptsrc="/Scripts/lib/require.js"></script>

In an ASP.NET project, you also need to add a Scripts/_references.js file to tell Visual Studio what JS libraries to use for IntelliSense. In that file, add the following reference to require.js, it’s not necessary to add references to any other .js files that will be subsequently loaded using RequireJS.

/// <reference path="/Scripts/lib/require.js" start-page="/index.html" />

If you’re working in a project that uses a .jsproj extension, such as an Apache Cordova or Windows Store app project, you can skip this step. The JavaScript editor automatically finds the references in your .html files.

The start-page attribute is a new attribute used to configure RequireJS support. This setting tells Visual Studio which page should be treated as the start page; this has an effect on how RequireJS will compute relative file paths in your source code.

Using a module

When using RequireJS, your app becomes a series of modules with explicit dependencies defined between each module. At runtime, RequireJS dynamically loads these modules as needed.

When adding a reference to RequireJS in your HTML file, the common use pattern is to specify a .js file that represents the initial module to load and initialize the application. In the index.html file, reference require.js and tell it to start by loading an app.js file:

<scriptsrc="/Scripts/lib/require.js" data-main="/Scripts/app"></script>

The data-main attribute tells RequireJS what file to load first (the “.js” extension will be added automatically by RequireJS when the app is run). In app.js write any JavaScript code you want; you can even use the RequireJS require() function to load another module. Visual Studio shows me IntelliSense suggestions for RequireJS APIs as I type:

RequireJS API suggestions

Using this require() function, you’ll load a services/photoService module that you’ll create next:

require(['services/photoService'], function callback(photoService) {

});

This require() call tells RequireJS to load a services/photoService.js file and attach the results to the photoService parameter in the callback function. This code waits for the photoService.js file to load, as well as any modules it references, before the callback function is called.

In the services/photoService.js file, add the following code to define a RequireJS module that returns a single function that gets a list of images:

define(function (require) {
    function getPhotoList() {
        return [
        '/images/image1.png',
        '/images/image2.png'

        ];
    }

    return {
        getPhotoList: getPhotoList
    }
})

Within the app.js file, we now see IntelliSense suggestions for the newly created photoService:

RequireJS module references

Configuring RequireJS

Often, you’ll want to modify the default RequireJS configuration to customize file paths for your application, making it easier to read the code. In this example, I use a specific version of the jQuery library, but I want to use shorthand in my code. I can do this using the RequireJS config() function to use the name “jquery” instead of the full path to where I have jquery installed (lib/jquery-2.1.3). I’ll add a Scripts\main.js file to my application with the following source in it:

requirejs.config({
    paths: {
        jquery:'lib/jquery-2.1.3'
    }
})

require('app');

In photoService.js, I can now refer to the jQuery library simply as jquery and use the .ajax() function to retrieve a list of photos from my server.

RequireJS-JQuery IntelliSense

You can see the finished sample code in the PhotoBrowser sample app.

Using RequireJS with TypeScript

I’ve just shown how you can use RequireJS when building an application using JavaScript. Using TypeScript, I can build the same RequireJS application. Since version 1, the TypeScript compiler has built-in support to make this easy. When using TypeScript’s external module support with the AMD module target, the JavaScript generated by the TypeScript compiler is compatible with RequireJS.

For example, I can simplify the minimal code I need to define my photoService module from:

define(['jquery'], function (jq) {
    return {
        getPhotoList: function () {
            return jq.ajax('/photos.json');
        }
    }
})

To:

Minimal code when using TypeScript to build RequireJS applications

In the PhotoBrowser sample, you’ll find a workingexample of a RequireJS application built with TypeScript.

Learn more

To learn more about setting up RequireJS for your JavaScript project, see the Customizing IntelliSense for RequireJS article on MSDN. For a complete “getting started” walkthrough, see the RequireJS project site. To learn about using TypeScript AMD modules with RequireJS, see the external module support documentation on the TypeScript website.

Looking ahead, module loading is going to become increasingly popular for JavaScript applications. Modules are a core part of the specification for the next version of JavaScript, ES2015 (formerly ES6). We’ll continue to improve support for developing modularized codebases in the future.

If you haven’t already, install Visual Studio 2013 Update 4 or later, or Visual Studio 2015 CTP 6, to get started with RequireJS and let us know how well it works for you by sending us a smile or frown. You can also add your votes for future module loader support or other JavaScript editor features on our UserVoice site.

 

Jordan MatthiesenJordanMatthiesen, Program Manager, Visual Studio JavaScript tools team
@JMatthiesen

Jordan has been at Microsoft for 3 years, working on JavaScript tooling for client 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.

PyCon 2015 in review

$
0
0

A couple weeks ago we headed off to PyCon 2015. If you missed PyCon, there is another opportunity to come see us. PyData Seattle is hosted at Microsoft’s Redmond campus in July 24-26. The call for proposals and early-bird registration are still open, so if you’re a data scientist using Python or simply interested in learning about it, we’d love to see you there.

Now, we are back from Montreal and all caught up on sleep; but, before we get back to work (now fully inspired!), we thought we’d share our experience at theconference.

We launched a new series of videos for PTVS at the conference. These videos are short (less than 5 min) and will help jump start your Python journey. They range from getting started guides to help set up Visual Studio for Python development through to deep-dive tutorials about Cross Platform Remote Debugging, How to create a Python Django Website, Creating Native Modules, and much more. This is just a short list we have started with and will continue to add to. If there is something in specific you’d like to see a tutorial on, please send us your requests.

Apart from these videos, throughout the PyCon tutorials, sessions, and sprints, we met lots of great people, saw some amazing talks and actively contributed to the event and community. Here’s a few things we discovered and shared at the conference!

Expo Hall

One of the reasons we love going to PyCon each year is to tell people about Python Tools for Visual Studio. The community is very fond of simple editors like vim (and not-so-simple ones like emacs), so the functionality available in Visual Studio is often a very pleasant surprise. Tasks like setting breakpoints and getting code suggestions are so much simpler in VS that by the time we get to the really cool stuff like cross-platform and mixed-mode debugging, people have already started using it for their next Python project.

Young Python Developers

This year we also got to show off just how far we’ve come with Azure since last year. Our workshop helped about 50 people get started with great features likeAzure Marketplace and Application Insights, and some of the easy on-ramps like try.azurewebsites.net encouraged even more people to try out Azure.

Our most recently launched service, Azure Machine Learning, was very popular. The Python community has a lot of data scientists and researchers, and being able to show them that R and Python are both tightly integrated went a long way towards relieving fears of vendor lock-in. We had a number of data scientists visit our booth and try it out (though they may have just come for the quadcopters…)

Quadcopter awardees

Supporting Python

Both during and after the main conference, we spent a significant amount of time working with other Python developers and the core Python team to help make Python easier on Windows. One of the major problems we are aware of is that many packages won’t simply “pip install” on Windows, so we are actively working with other teams at Microsoft and external people working on open-source compilers to alleviate this concern.

Attendees at the Python Language Summit Attendees at the Python Language Summit

One of the highlights of PyCon is the Language Summit, which is an opportunity for the Python development team to meet in person. We had some of our engineers there, and we got to contribute to the discussions about installing Python, migration from Python 2 to Python 3, and others. A big topic this year was type hinting, which is similar to the incremental typing support that TypeScript adds to JavaScript. Since we have experience implementing a type inference engine in PTVS, we were called on to contribute to the discussion.

During the development sprints we spent some time making further improvements to the Python installer for Windows, which you can preview in Python 3.5.0 alpha 4. We want to make it really easy for people to get and use Python, and a great way to help is by actively contributing to the core Python project.

Thank you

We’d like to thank everyone who came to PyCon this year and chatted with us, as well as all the people who tried out PTVS, Azure or Azure Machine Learning for the first time. It’s great to be part of a thriving community, and the Python community is one of the friendliest and most exciting out there. We are looking forward to next year’s PyCon as well as PyData Seattle later this year. Hope to see you there!

Steve DowerSteve Dower, Software Engineer, Python Tools
@zooba

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.

Node.js Tools 1.0 on GitHub and VMs Available

$
0
0

With the start of a new season of Game of Thrones, folks are sitting on the edge of their seats waiting to see what’s coming. Unlike the Khaleesi who seems to be going nowhere fast, Node.js Tools for Visual Studio (NTVS) has made some moves recently. Over the last month, we released Node.js Tools 1.0 for Visual Studio, joined the vibrant open source community on GitHub, and created VM images so anyone can quickly get started with NTVS.

1.0 Release

What is our goal with NTVS? We want to bring the power of Visual Studio to Node.js so you can build, debug, and deploy a working application faster than ever before. Say goodbye to console.log(…) with our advanced debugging and profiling experiences—something as simple as allowing breakpoints goes a long way in increasing developer productivity!

To learn more about the features in the NTVS 1.0 release, visit Node.js Tools for Visual Studio on visualstudio.com. If you prefer watching a video, check out this overview of Node.js Tools 1.0 for Visual Studio.

Join the GitHub community

We’ve listened to you all and have begun transitioning our workflow to GitHub. The most engaged members of the JavaScript and Node.js communities interact on GitHub and we are thrilled to become a part of the discussion. We are already excited by the feedback we’ve already gotten from the community—thank you for joining us on our journey!

Check out our static analysis engine, file an issue, and peruse our pull-requests (or even better, tackle an up-for-grabs issue!).

Grab ‘n’ go with our VM

Don’t have Windows? No problem.Everyone is welcome to play with Node.js Tools for Visual Studio.

We have created a VM image in Azure with Visual Studio Community 2013, Node.js, and NTVS pre-installed. After provisioning these VMs, you can get an app up and running in NTVS and experiment with our supported features.

Sign up for a free-trial of Azure if you don’t have an account and log in to the Azure Portal (click Portal in the top right). Select Virtual Machine in the left pane of the portal and create a new VM by clicking “+New” at the bottom of the page.

Create a new VM

NTVS1.0-VM-Select a VM from the gallery

Navigate to Visual Studio and select “Visual Studio Community 2013 Update 4 with Tools for Node.js.” Now just launch Visual Studio and you are ready to go!

NTVS1.0-VM-Choose an image

Check out the Virtual Machine Documentation page to learn how to provision your virtual machine.

Use our VMs in Azure or download our tooling today! Let us know how we’re doing by filing issues on GitHub or reaching out to us on Twitter.

Over ‘n’ out

 

imageKasey Uhlenhuth, Program Manager, Node.js Tools for Visual Studio
@kuhlenhuth

Kasey Uhlenhuth is a program manager working on improving the Node.js experience within Visual Studio as well as providing Interactive experiences on the Managed Languages team.

BUILD 2015 News: Visual Studio Code, Visual Studio 2015 RC, Team Foundation Server 2015 RC, Visual Studio 2013 Update 5

$
0
0

The Microsoft BUILD conference is typically a time when we release a lot of developer tools. This year we may have outdone ourselves. I’m going to talk a little about what we released today, but you’ll probably want to look at the announcements on Scott Guthrie’s Blog and Terry Myerson’s post on the Windows blog as well as Soma’s blog and Brian Harry’s blog. If you’d rather watch than read, head over to Channel 9 to watch the recordings.

The very short version is that we released Visual Studio 2015 Release Candidate (RC), .NET Framework 4.6, Team Foundation Server 2015 RC, and Visual Studio 2013 Update 5 RC and also a preview of a new tool that runs on MacOS, Linux, and Windows called Visual Studio Code. You may want to kick off those downloads while you read the rest of this post.

If you’re interested in a bit more detail, but not yet up for reading the entire post, here’s the dime novel version:

You can download the releases from the links above or from MSDN subscriber downloads. You can also use an Azure VM image to try out any or all of these releases.

Visual Studio 2015 RC

There’s a lot in the RC of Visual Studio, from improvements to the editing experience (e.g. light bulbs, CodeLens, and code maps) to improvements to the sign-in experience. Let’s start with something many of you have asked for – an improved VS SDK for VS 2015 – then talk about a few other highlights of the RC.

Creating Extensions for VS 2015. With this release, the VS 2015 SDK is available for download. We’ve improved several aspects of building extensions for VS 2015. For example, we created NuGet packages for Visual Studio SDK assemblies, so you can now reference these assemblies using NuGet Package Manager and share your extension code. We’ve also eliminated the need to use a project creation wizard or template to add a feature to your extension: simply by use an item template. More information is available on the VS Extensibility Dev Center, and check out the extensibility samples and the SDK documentation to learn more about building extensions.

Debugger Improvements. Visual Studio 2015 addresses many of your requests, such as lambda debugging, Edit and Continue (EnC) improvements, child-process debugging, as well revamp core experiences such as powerful breakpoint configuration and introduces a new Exceptions Settings toolwindow. 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.

.NET Framework 4.6: cross-platform support and new JIT. Last fall we said we’d do it and today we did: .NET Core is now available on Linux and MacOS. Along with that, we’re starting to make changes in the framework to enable more cross-platform support (e.g. we’ve added new methods to support converting DateTime to or from Unix time). But there’s quite a bit more. For example, we added a new version of the 64-bit JIT Compiler, which improves performance over the existing 64bit JIT compiler. To get a quick view of all the improvements take a look at .NET Framework 4.6 section of the release notes and read the roll-up post on .NET blog.

Sign in with work and school accounts in addition to MSA. In Visual Studio 2015, we have been improving the sign in experience. A notable update in this release: in addition to using Microsoft Accounts to sign into the IDE, you can now sign in with a work or school account. Visual Studio will manage your credentials and present them across different features and services inside VS, such as Azure and VS Online services, without extra prompts for credentials.

Org Account Sign In

Improved Notifications user experience. 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 to VS or a component in VS. In VS 2015 RC, we’ve added a new notification: VS will now give you an option to Learn more about a recent Visual Studio crash. There are now quite a few notifications you may get through this UI, so we’ve simplified the UI to only show one-line titles and descriptions, to categorize notifications, and enable you to ‘always ignore’ notifications that are not important to you.

Notification Hub Improvements

Add Connected Services. We’ve redesigned the Add Connected Services (under the References node in Solution Explorer) experience to make it easier to use and to make it extensible with the Connected Services SDK. From this dialog you can add:

Other services can be discovered in the Extensions and Updates gallery using the Find more services link.

Connected Service Selector

Editor Improvements. We’ve continued to hone Light bulbs and the Error List. Light bulbs help you identify and fix common coding issues, in many cases "live" as you type your code, and take quick code actions (like refactoring, implementing interfaces and more) from right inside the editor. Error List is your one stop shop for navigating and correcting code-related issues in your solution, whatever their source, from compile and build to code analysis issues.

 

Error List Improvements

CodeLens. The key thing we’ve done is to make CodeLens available in both VS 2015 Professional and Enterprise as well as in Visual Studio Online. In addition, we’ve added file-level indicators for all file types including C++, JavaScript, SQL, XAML, HTML, and CSS. You can learn more about this feature in the blog post on CodeLens availability for C++ JavaScript and SQL files.

Code Lens

Code Map. We’ve improved how code maps display and interpret test assets within solutions and how code maps carry that the context of your code through into the elements on the map. Learn more in this detailed post on latest changes in Code Map.Code Map

Visual Studio Tools for Apache Cordova. Using Tools for Apache Cordova you can build, debug, and test cross-platform applications that target Android, iOS, Windows, and Windows Phone, all from a single Visual Studio Project. In this release we have broadened the number of devices you can debug to, to now include Android 4.4, Android 4.3 and earlier with jsHybugger, iOS 6, 7, and 8, and Windows Store 8.1. Support for Apache Cordova 4.0.0 is also now available. Learn more about the Visual Studio Tools for Apache Cordova.Tools for Apache Cordova

Visual Studio Tools for Universal Windows App Development. We have integrated the Visual Studio tools for Universal Windows app development into Visual Studio setup. These tools enable you to create, upgrade, build, deploy, and debug Windows apps that run across all Windows devices, from Windows Phone to Xbox and Windows Store. In addition, you can also use these tools to build Windows Desktop Applications that leverage Windows 10 APIs. (Note that in this release, Windows 10 is not supported as a targeted platform for production apps.) You can install the tools for Universal Windows apps during Visual Studio setup by selecting Custom, and then selecting "Universal Windows App Development Tools." For more information on Windows app development, see the Guide to Universal Windows apps and the Windows Insider portal

C++ Improvements. One of the requests we continually receive from C++ developers continues to be for more C++ standards support. In this release, we continue to deliver C++11, C++14 and even C++17 features to make it easier for you to write better, cleaner, and compatible code. Some of the features in VS 2015 RC include resumable functions (resume/await), generic (polymorphic) lambda expressions, decltype(auto), thread-safe "magic" statics and return type deduction. Recognizing that customers want to access application functionality on different mobile platforms, we made a major investment enabling multi-device development with C++. You can use Visual Studio 2015 to generate dynamic/static libraries, native-library applications, and Xamarin native applications targeting the Android platform. We also now support building iOS applications using Visual Studio 2015. So you can now write C++ code targeting the iOS platform and also be able to take advantage of our advanced code authoring features such as code sharing, cross-platform IntelliSense, refactoring, peek definition and more. The iOS support is still work in progress, keep an eye out for more on this soon. This is being released as Preview today so we’d love to hear your feedback.

Support for iOS Development

Check out Ankit Asthana’s BUILD talk “Building Multi-Device Applications in C++ with Visual Studio 2015” for more information including a few cool demos. For all things C/C++ related, visit the Visual C++ team blog. You can also find a list of all feature updates in this release in the Visual C++ section of the release notes.

Improved support for high-DPI displays. We're continuing to ensure that Visual Studio looks beautiful on high-density, high-DPI displays. As an example, we added a central image service so Visual Studio can use variable resolution icons, which means those in-between DPI scaling factors of 150 and 250% now look just as good as 100 and 200% and that images in VS are themed properly for high-contrast and across the in-box themes (Blue, Light, Dark).

HDPI Support in Visual Studio 

Team Foundation Server 2015 RC

With TFS 2015 CTP released earlier this year, we expanded the basic license to include web-based test execution, agile portfolio management, work item chart authoring, and team rooms. This means that all teams of five or fewer members with a "Basic" license now have access to these features using Team Web Access for free, while larger teams can access this functionality at a much lower price point. This release includes all changes from the CTP release including expansion of the “Basic” license of TFS and also has many additional improvements.

Policies - Gated Build and Code Review. If you are working with a Git project you can now set branch policies to require a successful build before any code can be submitted into a branch. You can also set branch policies on Git projects to require code reviews for any code submitted into a branch. You can also configure the policies to require a minimum number of code reviewers, as well as to require specific reviewers for particular paths and/or file types.

Quick Code Editing. If you are looking to make quick code edits we have now made it easy to edit a file in version control directly from your web browser and then commit those changes straight back to the service. With every save, we create a new commit/changeset with your changes. You can use the diff view to see exactly what changes you’re making before committing the changes. If the file is a Markdown or HTML file, you can also preview your changes before you save them.

Kanban Board. A new feature we’ve added to our Kanban board is called Kanban Split Columns. To track your work more effectively and help move work through the board, each column on your board is split into two sub columns—Doing and Done, making it much easier to track progress. As work moves through your board, it's critical that you and your team are on the same page about what “done” means. In this release we provide a way for you to specify a definition of done for each column on your board.

You’ll also notice that in RC, all the cards have a slightly updated look—cards are now a bit wider, and have a solid white background (instead of a colored background). These changes lay the groundwork for more customization options on the cards, including adornments, additional fields, and tags. While these customizations options aren't ready for RC, they’re coming soon, so stay tuned. Learn more about working with Kanban boards in TFS.

To read about all these changes in further detail, check out the Team Foundation Server 2015 RC Release Notes and Brian Harry’s blog.

Other Visual Studio Tools Available Today

At the start of this post, I mentioned that there are many other tools available alongside this release. Let’s start by highlighting some of Visual Studio 2015’s device support for Android and Windows, and work through a few others.

Visual Studio Emulator for Android. Our fast, free, Hyper-V compatible emulator for Android gets even better in Visual Studio 2015 RC with an update that adds Device Profiles and WiFi simulation. We’ve curated a set of profiles that represent the most popular hardware in the market, including devices from Samsung, Motorola, Sony, and LG, so that you can debug and test your Android app across a wide range of screen configurations, Android versions, and other properties. Manage your device profiles using the Emulator Manager, accessible from Visual Studio under the Tools > Visual Studio Emulator for Android menu option.

VS Emulator for Android

Visual Studio 2015 Tools for Docker Preview. Today we are also making Visual Studio 2015 RC Tools for Docker - Preview available to you.  This enables you to provision Azure virtual machines containing the docker engine, and we provide both UI tools and scripts to package and deploy your Web application or console application to Docker hosts.  This is a helpful companion tool to work with .NET on Linux. 

Microsoft Azure SDK for .NET 2.6. This release provides new and enhanced tooling for Azure development with Visual Studio 2015 RC and Visual Studio 2013 Update 5 RC, including Azure Resource Manager Tools, HDInsight Tools, and various improvements to diagnostics for Cloud Services. Read this detailed blog post to learn more about what’s new in this release of Azure SDK 2.6.

Entity Framework 7 Beta 4. The latest version of Entity Framework enables new platforms and new data stores. Windows Phone, Windows Store, ASP.NET 5, and traditional desktop application can now use Entity Framework. EF7 also supports relational databases as well as non-relational data stores such as Azure Table Storage and Redis. This release includes an early preview of the EF7 runtime that is installed in new ASP.NET 5 projects. For more information on EF7, see what is EF7 all about and read this blog post for details.

ASP.NET 5 Beta 4. ASP.NET 5 Preview updates the runtime with a lightweight request pipeline and continues cross-platform support by running on Windows, Mac, and Linux. You can view the entire list of changes in the ASP.NET section of the release notes. Additionally you can read about these features in detail on the blog post on ASP.NET blog.

What does “release candidate” mean?

As a final note, we should explain what RC means to us. If you’re familiar with the community technology previews (CTPs) we’ve shipped, you know that our intent with those is to get you access to the work we’re doing sooner rather than later so you can give feedback. CTPs can be of pretty variable quality. When we say VS is an RC, we’re trying to indicate that the quality level is higher and the feature set is complete or nearly complete and we want your final feedback before calling the release done. As part of being an RC, some of our releases get the “go live” moniker, indicating that, despite the fact that the software isn’t done yet, we are licensing it for developing and deploying production applications. To decide whether using Visual Studio 2015 RC in a go live scenario is right for you, start by reading the license terms for RC, which includes the go live licensing terms. Here are some additional items to note about the RC:

  • Side by Side. Visual Studio 2015 RC works seamlessly side-by-side with Visual Studio 2013.

  • Install over Preview. You can install VS 2015 RC on top of VS 2015 Preview without the need to uninstall Preview. Since there is no upgrade path from TFS 2015 Preview, you will need to do a fresh install of TFS or upgrade from a previous TFS RTM release (such as TFS 2013 Update 4). You will be able to upgrade from TFS 2015 RC to TFS 2015 RTM.

  • Windows 10 with VS 2015 RC “go-live.” Applications built for Windows 10 cannot be distributed or uploaded to the Windows Store. Instead, you will need to rebuild applications built for Windows 10 using the final version of Visual Studio 2015 before submitting to the Windows Store.

  • ASP.NET 5 Preview with VS 2015 RC. ASP.NET 5 is still in preview and is not recommended for production use at this time. You are free to use ASP.NET 4.6 in production.

  • Upgrade to RTM. Upgrading from RC to the final release (“RTM”) of Visual Studio and TFS 2015 should be smooth. For TFS, the upgrade from RC to RTM will work as it always has: You will need to install the latest TFS build and then run the upgrade wizard. Please note that TFS replaces whatever is installed on your computer, so make sure you have a full back up of your current databases.

  • In Production Support. If you have questions that aren’t addressed above, check out the Visual Studio 2015 RC Release Notes or you can submit them on MSDN Forums which are frequented by Microsoft MVPs and members of the product group. If you do use VS 2015 RC for “go-live” development and encounter issues that are preventing you from deploying in a “go-live” production environment, please contact Microsoft Product Support. Support is English only and U.S. business hours only (M-F 6am-6pm PST) with a 1 business day response time:

All that said, while we have done a lot to make this release safe to use in production environments, please take adequate measures to back up and protect your data prior to (and after) upgrading to RC.

As you use RC, please give us your feedback, suggestions, thoughts, and ideas on our UserVoice site, through the in-product Send-a-Smile and Send-a-Frown UI, or file a bug through the Visual Studio Connect site to help fine tune the final release of Visual Studio.

Thanks,

John

John Montgomery 2013John Montgomery, Director of Program Management, Visual Studio
@JohnMont

John has been at Microsoft for 15 years, working in developer technologies the whole time. Most recently before working on the Visual Studio core development environment, he was working on the tools for Windows 8 development.


Introducing the Windows 10 Apache Cordova platform

$
0
0

Apache Cordova allows developers to write apps targeting iOS, Android, Windows, and Windows Phone with a single codebase using HTML, JavaScript, and CSS. Today, Apache Cordova support for Windows 10 is available for developers to begin experimenting with building Cordova apps that support the Universal Windows platform.

The new Universal Windows platform allows developers to target a variety of Windows 10 devices with a single app deployed to the Windows Store. While Cordova allows developers to build apps for multiple platforms with apps native to each platform using a single codebase, the Universal Windows platform takes it one step further for Windows 10 devices and allows a single app to work across a breadth of devices, such as phone, tablet, desktop, and Xbox. Cordova apps that target the Windows 10 platform can take advantage of all the new features of Windows 10, such as Cortana integration. While your Windows 8.1 apps will continue to work with full fidelity on Windows 10, changes to the security model for Windows Web apps in Windows 10 allow developers to write apps targeting Windows 10 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).

Until the Windows App Store is ready to accept Windows 10 apps, you can use the platform to prototype and refine your Cordova app. Between now and Windows 10’s release which is coming soon, some commands will require the developer to use the command-line. When Windows 10 is released, Visual Studio 2015 will support the Windows 10 Cordova platform without requiring developers to use the command line to add or manage their platform code.

Below are detailed instructions to set up and use the Windows 10 platform. You can open a command line in Windows with Windows Key+R, then typing “cmd”.

Installation Prerequisites

npm install –g cordova

You can verify your version by running: cordova --version

The next sections detail adding the Windows 10 Cordova platform to your project. Alternatively, to get started immediately use the Blank Apache Cordova Template with Windows 10 Support from the Visual Studio Gallery. The Blank Apache Cordova Template with Windows 10 Support is a blank project template that includes the Windows 10 platform by default.

Using the Cordova platform

The next step is to use the 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 and use the Apache Cordova Blank App template to create a new Cordova project.

Adding the Windows 10 platform to your Cordova project

Once you’ve created your project, the config.xml file will open where you can add the new Windows 10 platform to your project. Visual Studio needs to use Cordova CLI version 5.0.0 or later. If this isn’t the version you have, you can update the CLI version in the configuration designer by double-clicking on config.xml in the Solution Explorer. To update the Cordova CLI selection to 5.0.0, choose the Platforms tab on the left and enter the number 5.0.0 in the text box, as shown below:

Select Cordova CLI version 5.0.0 Save your changes and close the configuration designer using the X in the tab strip. Then build the solution using the Build à Build Solution menu item.

For the next step, you’ll need to use the command line. When Visual Studio ships, you’ll be able to perform this step in Visual Studio.

Using Visual Studio, reopen the configuration designer by double-clicking on config.xml in the Solution Explorer. In the Windows tab, change Windows Target Version to Windows 10.0.

Add Windows 10 Platform to your Cordova Project

Build and Run the app

To build and run for Windows 10, choose the build target Windows-AnyCPU and the deployment target Local Machine, then choose run. You should see your app running.

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, refer to Windows Dev Center.

We’re looking for your feedback to make the Cordova Windows 10 platform better. If you’re a Cordova app developer, please use the platform and Visual Studio and ask questions or give us feedback. If you’re a Cordova community member, we’d love issue reports and feedback on how we’ve implemented the Windows 10 platform (please use the Windows10 tag). We look forward to hearing from you.

 

imagePolita Paulus, Principal Program Manager, Visual Studio Client
@vscordovatools

Polita Paulus is a Principal PM Manager on the Visual Studio Client team working 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.

Playing with VS Extensibility

$
0
0

[Updated]

In a presentation to developers in the //build keynote on Thursday, April 30, we demonstrated a Minecraft mod as an example of Visual Studio’s extensibility and ecosystem. With a gift for understatement, that demo caused a little bit of confusion.

We should clarify our intent: this was not an announcement about Minecraft, or an official endorsement of modding, or the release of a Minecraft-specific modding tool or API. We just wanted to show Visual Studio’s ability to draw on its ecosystem of extensions to do something interesting – in this case, we used a Java plugin from Sam Harwell, some code one of our engineers wrote, some code from the open source Eclipse project, and a few other things. In our demo, we used all that to mod a popular Java game.

Mods in Minecraft remain officially unsupported, and we apologize for creating confusion.

Visual Studio has a huge ecosystem of extensions that add serious capabilities like refactoring or support for Python or Node. We also have some more fun extensions. Sam Harwell, one of the Visual Studio MVPs has a more serious extension for Java. At BUILD, we showed a lighter side: how to use that extension with one a few of us worked on to create a Minecraft mod. In the spirit of doing something a little fun (rather than serious), in this blog post, we’ll explore Sam’s extension for Java when you point it at Minecraft.

Behind the scenes

To create this experience, we built on top of a lot of the existing ecosystems, and extended Visual Studio with MinecraftForge project templates, a NuGet package that is installed by each template that orchestrates the provisioning build and a VS editor extension (MEF-based) for Java IntelliSense and Browsing support

Relative to the existing ecosystem, this isn’t much work. This extension relies on several open-source projects to accomplish the current experience:

  • MinecraftForge is the engine behind the modding development experience.
  • Sam Harwell's Java Language Support VS extension is the project providing the Java project system, build system, basic editor facilities and the rich Java debugger capabilities in Visual Studio. We've worked closely with Sam to make sure that we refine the end-to-end Minecraft development experience and simplify its acquisition. Thanks Sam!
  • Eclipse JDT is bundled together with this project as an Eclipse application and is used to provide all IntelliSense and browsing information inside the VS editor.
  • Aidan Brady's Mekanism is bundled as a Minecraft mod sample inside MMDP's New Project Dialog.

The Visual Studio addin for Minecraft can be downloaded from the Visual Studio gallery. It supports both VS 2013 Update 4 and VS 2015 RC. If you're interested in jumping into its source code and learn more about how it was built, head over to GitHub.

Marian LuparuMarian Luparu, Senior Program Manager, Visual C++

Marian has been a member of the Visual Studio team for the past 9 years. He is working on making Visual C++ more productive for writing, building, and diagnosing code. Before that, he worked on defining and implementing the C++ programming model for Windows Runtime. Lately, he’s been also playing Minecraft a lot.

GitHub Integration in Developer Assistant

$
0
0

Developer Assistant for Visual Studio is a productivity plugin that brings the combined power of Bing Code Search capabilities and contextual help to day-to-day developer problems, like resolving code errors and searching for projects and code samples. Developer Assistant has taken a big leap with integration of GitHub in the latest version.

GitHub hosts the largest open source community in the world. Many popular Microsoft open source projects like .Net foundation, Node.js, and Bootstrap are already hosted on GitHub. It also hosts API usage samples for popular open source libraries, like HTMLAgilityPack, NewtonSoft.json, Xamarin, and the Windows universal platform.

Today, search engines are not optimized to show code samples from GitHub in search results. Until recently, Developer Assistant was powering code samples in the IntelliSense window only from sources like MSDN and Stack Overflow. With the latest release of Developer Assistant, in which we are now integrated with GitHub, the number of repository of code samples, API samples, and projects that you can search for from within Visual Studio has shot up to 21 million.

Code Samples from GitHub

By using the search box in Developer Assistant, you can now access thousands of .NET Open source projects from GitHub, such as the .NET Compiler Platform (“Roslyn”) and core foundational libraries (CoreFX). Searching is easy; simply enter the queries in natural language, and we’ll do the search for you. We’ll present the results within Visual Studio, and all you’ll have to is scroll through project results and choose the most relevant ones you want to learn from or contribute to.

GitHub Project search

Now, as a developer, it is very easy for you to help the developer community learn about a new program or application. Just contribute your code samples/projects in GitHub or MSDN and Developer Assistant will start prioritizing them in search results.

Our vision is to improve Developer Productivity in the development life cycle by providing personalized & contextual help. Your feedback will help us to achieve this vision. Please write to us at bingdevassistant@microsoft.com for feature requests, to report bugs, or to suggest improvements.

On behalf of teams from Bing, Developer Experience, Microsoft Research & Visual Studio, Thank you.

imageAnuj Jain, Program Manager, Bing Tech Experiences
@1AJain

Anuj has been with Microsoft for 2 years. He is passionate about improving developer productivity by combining the power of web by using Bing & Development Environment to provide contextually aware help to developers. He is currently focused on expanding Developer Assistant to next set of programming languages.

Announcing the GitHub Extension for Visual Studio

$
0
0

Today, Steven Guggenheimer announced Microsoft's collaboration with GitHub and introduced several projects that make it easier for developers on GitHub to work with Visual Studio and Azure. In particular, the GitHub Extension for Visual Studio released today by GitHub lets you clone your existing GitHub repositories, create new repositories, and navigate to important GitHub features like Pull Requests, Issues, and Reports from inside VS. The extension builds on the Git support already in Team Explorer so you get a consistent experience for commits, branching, and conflict resolution no matter what remote repository you set. GitHub’s extension is available as an option in Visual Studio 2015’s setup so developers won’t have to go far to get these new capabilities. In addition, GitHub has made it easier to access Visual Studio from GitHub.com with a new “Open in Visual Studio” button. Let’s take a look at what you can do with the first release of GitHub’s extension.

Team Explorer

Getting the GitHub extension

Getting the extension is pretty easy. When you install Visual Studio 2015 RC choose "Custom" installation to pick the optional components you want to install and check the box next to the GitHub Extension for Visual Studio. There are a lot of new choices here you'll want to explore. If you're not sure what else to pick you can always add features later by rerunning Visual Studio's setup from Add or Remove Programs.

VS SetUp Showing GitHub Extension

If you have already installed RC, don't worry. You can add the GitHub extension after the fact by searching for GitHub extension on the Visual Studio Gallery from the Extension Manager or installing the MSI on GitHub.

Connecting to GitHub.com and GitHub Enterprise

Once you're set up, get started by opening Team Explorer and selecting GitHub under the new "Manage Connections" menu.

Connecting to GitHub From Team Explorer

Sign in with the credentials for your user account on GitHub.com or GitHub Enterprise. A new section is added to the Connect page of Team Explorer where you can get started with a new repository on GitHub or clone your own repositories, private repositories that have been shared with you, and any repositories you can access under organizations where you are member. After a repository is cloned it appears in the local repositories list. Clicking any of these cloned repositories will make it the active repository in Visual Studio and Team Explorer. From here, all the changes, commits, branches, and syncs will happen in this active repository.

Publishing a local repository

The Team Explorer's Synchronization page also has a new section to help publish a local repository into GitHub.

Publishing a local repository

The most direct way to open the Synchronization page is to first open the local repository then click the Home button in Team Explorer. Follow the Sync nav item on the Home page to load the Synchronization page where you’ll see the new Publish to GitHub section. The new section will walk you through getting signed in to your GitHub.com or GitHub Enterprise account, let you update your repo name and select whether it should be published as a public or private repository. It’s really that easy.

Open in Visual Studio from GitHub.com

After you sign in the GitHub extension from Visual Studio for the first time you’ll begin to see the “Open in Visual Studio” button on any GitHub repository you visit.

Open in Visual Studio from GitHub

Clicking the button will launch Visual Studio and start a clone inside the IDE. The Open in Visual Studio button calls a new protocol handler called “git-client://”. We designed this new generic protocol together with GitHub to allow a website pass standard Git operations to any IDE that’s registered with the OS to handle that protocol. So far we support basic Git clone. For example git-client://clone/?repo=https%3A%2F%2Fgithub.com%2FAzure%2Fazure-quickstart-templates

will launch VS and start a clone operation for Azure Quickstart templates. Multiple clients can register with the OS to handle the git-client:// protocol and the end user can decide which client to direct these requests.

We’re excited the millions of GitHub developers can now have a great experience when they use the world’s best IDE. Phil Haack, engineering manager at GitHub, has a video that will walk you through how to make the most of this extension in Visual Studio. Our team is working closely with GitHub to extend Visual Studio with more capabilities. Tell us what you think by sharing your feedback at support@github.com.

Anthony CangialosiAnthony Cangialosi Principal PM Manager, Visual Studio 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.

Tools for Apache Cordova in Visual Studio 2015 RC

$
0
0

We are excited to announce that Visual Studio 2015 RC will include the Tools for Apache Cordova. Starting today, you can build production quality mobile apps for iOS, Android and Windows using web technologies and nearly 100% shared code across platforms. With support for native device capabilities (e.g. camera, accelerometer, contact), offline scenarios and popular JavaScript frameworks (e.g. Angular, React and Backbone), the Tools for Apache Cordova contain everything web developers need for building cross-platform mobile apps using Visual Studio.

If you’re one of the thousands of developers who followed our previous CTPs, you’ll find a lot of familiar features. The release candidate includes all the same experiences that make Visual Studio a great dev environment – including simple setup, contextual Intellisense, a tight edit-debug loop, connection to back-end services and a fast Android emulator– but there are also some important changes based on user feedback that we think you’ll like. This post reviews just a few, but you’ll have to download the tools to experience them all.

Compatibility with “Stock” Cordova Projects

After trying previous CTP releases, many of you told us that you prefer the productivity of an IDE, but still need the portability afforded by a “stock” Cordova project. Some of you work on teams with mixed development environments. Consequently, there is often a need to open the same project on both Macs and PCs. Others wanted to take advantage of the rich Cordova development community where tutorials and help documents were “just a little different.”

Beginning with this release, the Tools for Apache Cordova share a common project system with ASP.NET 5. This project system is based on the file system and maps precisely to the “stock” Cordova directory structure. Build is federated almost entirely by Node.js and the Cordova framework. All these changes bring to the following benefits -

  1. You can open projects created by any Cordova-compatible CLI (e.g. Cordova, Ionic).
  2. You can easily switch to any version of Cordova you like. Simply change the version number in the Config Designer and Visual Studio will automatically acquire the new version on your next build.
  3. You can move interchangeably between the IDE and command line tools. If you want to perform a custom action (e.g. add a custom platform), open up the command prompt and go to work. Visual Studio will automatically pick up the changes.
  4. And, you can use the same project in both Windows and Mac development environments.

New Tools For Apache Cordova Project

Note that if you’re migrating your project from a previous CTP release, there are a few extra steps required to open your project the first time in Visual Studio 2015 RC. You can find a comprehensive guide to migrating your project on MSDN.

Grunt, Gulp, Bower and Node-based Workflows

Starting with the RC release, it’s also much easier for you to build Cordova apps using tools familiar to many web developers. Do you use NPM or Bower for package management on a daily basis? No problem. You can use them for Cordova projects, too. Are you a fan of Node-based build-task managers like Grunt or Gulp? Done and done. In fact, we even have a growing library of tutorials designed to help you get started using Gulp with Cordova projects. Learn how Gulp can enable continuous integration with TFS or just perform common Gulp tasks

Task Runner Explorer

New Templates from Ionic and Onsen UI

Like any technology, Cordova development has its share of challenges, and one of the biggest is UI development. It can be difficult to create controls that feel native and perform responsively. Luckily, there are some terrific JavaScript frameworks that make it easy. Two of the most popular are Ionic and Onsen UI. Starting today, we’re happy to announce templates straight from the makers of Ionic and Onsen UI are available in the VS Gallery. Each framework provides a variety of starting points to suit the most common project types. 

Templates from Ionic and Onsen

Of course, if Ionic or Onsen UI aren’t your thing, you can still bring your favorite JavaScript or TypeScript framework with you. Ionic and Onsen UI templates are provided as optional, but are strong starting points for those of you who want to defer the complication of UI so you can begin writing your application logic immediately. In fact, you can see how other frameworks do it by checking out our samples for Angular, Backbone and WinJS.

Fresh Samples, Tutorials and Documentation

If you clicked on the Gulp tutorial link above, you may have noticed that our tutorials and Cordova app samples have moved to GitHub. We hope that the move to GitHub makes it easier for everyone to contribute and use. If you find any issues with our samples or tutorials, send us a Pull-Request or open a GitHub issue. We invite and look forward to your participation so we can grow stronger as a whole.

We are excited for you to tryout Visual Studio 2015 Tools for Apache Cordova and we look forward to seeing your feedback. You can share your feedback directly with the product team via UserVoice, Send-a-smile, Twitter, StackOverflow, or email.

Download VS Enterprise 2015 RC in Englishto get started right away (or go here for other languages and editions) and don’t forget to check “Tools for Apache Cordova” during setup.

Happy coding!

imageRyan J. Salva, Program Manager, Visual Studio Client Tools Team
@RyanJSalva

Ryan works on the Visual Studio Client Tools team where he looks after HTML, CSS and JavaScript. Today, he focuses primarily on tooling for Apache Cordova and Windows Store applications. However, he comes from a 15 year career in web standards development.

imageAli Satter, Program Manager, Visual Studio Client Tools Team 

Ali works on the Visual Studio Client Tools team where he spends his time thinking about how to improve Cordova developer experience inside Visual Studio. 

Introducing Visual Studio’s Network tool

$
0
0

Last week we announced the availability of Visual Studio 2015 RC which includes a brand new tool to help you diagnose network related issues when building Windows apps across the Windows continuum from Windows Phone, to HoloLens, to Xbox. This new Network tool is part of the existing Performance and Diagnostics hub - the following screenshot show it in action.

Performance and Diagnostics Hub Historically, web developers had relied on in-browser tools for network diagnostics, but it has been a more complicated ordeal for app developers due the lack of tools that integrate into their development workflow. With Visual Studio’s new Network tool, developers can now easily record information about all HTTP network operations made through the WinRT HttpClient API including HTTP request and response headers, request and response payloads, cookies and detailed timing information amongst other things. Operations made using the old .NET HttpClient API aren’t captured.

How does this tool help? It can help get answers to common questions like:

  • Authentication related issues (e.g. Why can’t my app access a resource?)
  • Cache related issues (e.g. Why is my app getting an older version of a resource?)
  • Payload issues (e.g. How many bytes are downloaded? Where is the bottleneck?)

Using the Network tool

To access the Network tool, open the Diagnostics Tools window in Visual Studio 2015 and on the Debug menu, select Start Diagnostic Tools without Debugging (or just press Alt+F2).

Using the Network Tool - Menu On the diagnostics page, select the Analysis Target (your startup project is preselected as the analysis target but you can choose to target an installed or running app instead), then select Network and press Start. Alternatively, since the tool is part of the Performance and Diagnostics hub, you can also select additional tools in order to run a combined session.

Using the Network Tool - Configuration Once you start profiling your app, the network tool will automatically capture your app’s HTTP network traffic and display it in the summary view.

Summary view

The summary view is a table like interface that presents you with a simplified view of all captured HTTP operations.

Summary View The summary view columns show you:

  • Name– The name and URL path of the resource being requested
  • Protocol - The protocol used when requested this resource. For example: HTTP or HTTPS.
  • Method - The HTTP method used on the request. For example: GET, POST, PUT, etc.
  • Result - The response status code and text message as returned by the server.
  • Content type - The MIME type of the response as returned by the server.
  • Received - The total size of the response payload as delivered by the server. At this point, chunked encoded responses are left as blank.
  • Time - How long it took to download the resource since the request was initially sent.
  • Timings - A graph that shows where network activity occurred over time. This graph or waterfall view, shows you when a resource was requested and when it finished downloading

In order to increase your productivity, we’ve made the following design choices so that important debugging details are easy to see:

  • By default, requests are sorted in chronological order, but they can be sorted differently, by clicking on a different column header.
  • Requests fully served from the cache are marked as “(from cache)” in the Received column effectively raising visibility into all cache responses. This can help you understand if you are using the cache effectively, perhaps to save user bandwidth, or even if you are caching responses by mistake and providing the end-user of your application with outdated data.
  • Errors such as 4xx or 5xx are displayed in the in the Results column with a red colored status code as well as get highlighted in the summary bar, bringing your attention to these potential issues that might need resolving – this makes it easy to spot issues among the many potential requests on your application and eventually resolve them.
  • Information about how many requests, total data as well as how long it took is summarized in the summary bar

Summary View showing Requests Served from Cache and Errors in Results column

Toolbar

When debugging network related issues, is possible that you’ll need to share your network traces with other people or import them to Fiddler and other third-party tools in order to run a performance analysis or even share your debugging findings. For those scenarios, we added an export button that allows you to export the captured network traffic into a JSON based HAR format. Doing so allows you to leverage many of the existing third party tools that consume JSON based HAR files to debug or analyze network traces.

Toolbar - Save The toolbar also allows you to show sub-set of the captured traffic. For example, if you are only interested in diagnosing issues with image related calls, perhaps an image is not showing or maybe you are not getting the latest version of an image, you can filter out all unrelated content by opening the “Content type filter” and selecting Images from the list of available filters. This feature will allow you to become more productive by allowing you to skip over dozens of unrelated network calls and only focus on the image related ones.

Toolbar - Content Type Filter Once a filter is applied, the summary bar, at the bottom of the page is updated to reflect the new metrics. In fact, this area provides a summary of the captured network traffic currently displayed in the summary view. At a glance, it provides information about network errors (responses with 4xx or 5xx status codes), the number of visible requests, how much response data was transferred and how long it took to download them. This features is especially helpful when trying to measure how much data was consumed in a particular scenario or even have an idea of how long it might take to download certain resources.

Toolbar - Summary Bar at bottom of Toolbar

Details panel

To get details about a request, simply head to the summary view and click on the request row. At that point, the details panel will open up and all the relevant information about that request will be exposed.

Details Panel The details panel is divided in the following sections:

  • Headers– Provides visibility into the request and response headers as well as summarizes important aspects of the requests and response such as the URL, method and status code.
  • Body– Displays the request and response payload bodies as well as provides options to “pretty print” the contents and help make them easier to read.
  • Parameters– Breaks down the query string parameters into an easy-to-read format.
  • Cookie– Displays the data of the request and response cookies.
  • Timings– Displays the timing stages involved in acquiring the respective resource. Since redirects affect the time involved in downloading a resource. This area also calls out if a resource was redirected from or was redirected to a different resource.

To recap, in Visual Studio 2015 you will have access to a new network tool that will help you become more productive by providing you the tools you need to debug most network related issues directly from the Visual Studio IDE. You’ll now be able to debug network related issues for JavaScript, managed as well as native apps for both Windows Store Apps as well as Universal apps targeting Windows 10.

In an upcoming blog post, we’ll be covering how to use the Network tool to solve potential issues when developing your apps. In the meantime, please let us know your thoughts by leaving a comment below or via Send-a-Smile.

profileRuben Rios, Program Manager, Visual Studio
@Ruben_J_Rios

Ruben is a Program Manager on the team that builds debugging tools for Visual Studio as well as the F12 dev tools for Microsoft Edge. Before joining Microsoft, he was a professional web developer and has always been passionate about UX.

Top News from April 2015

$
0
0

This top trending post is a collection of what we think are some of the top stories in April. This is our third such post (top news from February 2015, top news from March 2015) and we would love to hear your feedback. Are these posts interesting and informational? Do you have other blogs or articles to share with us? Let us know by leaving a comment below. 

Top Trending Content for April 2015

BUILD 2015 News: VS Code, VS 2015 RC, TFS 2015 RC, VS 2013 Update 5 RC. BUILD 2015 is a 3-day Microsoft Developer event that was held this year April 29th– May 1st. As with every year we had a lot to share this year too. In addition to the release of Visual Studio 2015 RC, Visual Studio updates, and related tools for Visual Studio, this year we also released Visual Studio Code which is the first code editor, and first cross-platform development tool - supporting OS X, Linux, and Windows - in the Visual Studio family. VS Code includes many of the mainstream features in Visual Studio like IntelliSense, Debugging, Peek, and Code Navigation. If you missed the event and want a quick overview on everything that we released at BUILD read John Montgomery’s post on BUILD 2015 News: VS Code, VS 2015 RC, TFS 2015 RC, VS 2013 Update 5 RC.

Visual Studio Code on Mac Linux Windows

Microsoft’s Partnership with GitHub. On day 2 of BUILD 2015 Steven Guggenheimer’s keynote covered a ton of big news from Microsoft one of these that I want to call out in specific is GitHub Enterprise on Azure that will enable companies to develop and build enterprise grade software by creating their own instance on Azure. Additionally we announced the GitHub extension for Visual Studio so you can easily connect to and work directly with private or public GitHub projects from within Visual Studio 2015 and GitHub integration in Developer Assistant that will now bring you code samples and projects from GitHub right into Visual Studio.

VS SetUp Showing GitHub Extension

What’s new in TFS 2015 RC?Have you heard about the SonarQube integration we are working on? What about PowerBI, Agile Project Management, Release Management, Application Insights, or VS Online extensions? Heard about them but want to learn more? Head over to Brian Harry’s post on Visual Studio and TFS at BUILD 2015 to learn about the various new and updated features in Team Foundation Server 2015 RC and what else the team is currently working on.

VS for Game Development: New Partnerships with Unity, Unreal engine, Cocos2d. On April 17th, Soma announced new partnerships between Visual Studio and the three major gaming engines, Unity, Unreal, and Cocos2d. These partnerships will take support for game development in Visual Studio to the next level. Visual Studio currently offers Visual Studio Tools for Unity, a free Visual Studio add-on that enables a rich programming and debugging experience for working with the Unity gaming tools and platform. Now there are Unity 5 Personal Edition, Unreal Engine 4, Cocos2d, three awesome free options for you to do game development using Visual Studio. Learn more about these partnerships on the Unity, Unreal, Cocos2d, and Visual Studio sites.

game_engine_logos_3

Visual Studio 2015 Product Lineup. With our announcement of Visual Studio Community last year we started on this path to make it easy for you to choose a Visual Studio offering that meets your needs. In line with the same goal, Mitra Azizirad announced the new product lineup for Visual Studio which primarily consists of three offerings: a free Visual Studio Community for non-enterprise usage, a basic Visual Studio Professional, and an advanced Visual Studio Enterprise. To get an overview, read Mitra’s post announcing the VS 2015 product line up, or to understand the details on the differences in features, pricing, and offerings with or without MSDN, check out the VS 2015 Product Editions site. 

Visual Studio 2015 Product Offerings

Tutorials: Python Tools for Visual Studio. The Python team released an array of tutorial videos on YouTube during PyCon 2015 in Montreal. If you missed the event, read Steve Dower’s post on PyCon 2015 in review. These videos range from getting started guides that will help you set up Visual Studio for Python development, to deep-dive tutorials about Cross Platform Remote Debugging, How to create a Python Django Website, Creating Native Modules, and much more. These are just a few videos to get your started. The team is working on more tutorials and will continue to add to this list. So if there is something in specific you’d like to see a tutorial on, don’t wait to send in your requests.

Tutorials: Tools for Docker - Preview. With Visual Studio 2015 RC release we also released tools for many technologies which includes Tools for Docker Preview. This enables you to provision Azure virtual machines containing the docker engine, and you’ll see that both UI tools and scripts are provided to package and deploy your ASP.NET 5 Web application or console application to Docker hosts. This is a helpful companion tool to work with .NET on Linux. To get started checkout the tutorial videos that currently have a 7-part series on how to build and deploy an ASP.NET application.

Git for the TFS User. This is a 4 part series of posts on Git for the TFVS User by Willy-Peter Schaub. In part 1 he shares guidance and basic workflow steps for making changes using centralized workflow and topic branch workflow. Part 2 covers a walkthrough of reviewing changes that do not have any conflicts, using a pull request, while part 3 has a walkthrough on merging changes with conflicts without using a pull request. Part 4 wraps up the series with a walkthrough for converting a TFVS repository. All the walkthroughs are very thorough with step-by-step descriptions, screenshots, as well as other pictorial representations.

Reviewing Changes with Pull Request

Visual Studio 2015 and Graphics Tools for Windows 10. Visual Studio Graphics Diagnostics for Direct3D were first introduced in Visual Studio 2012, but since then the team has continuously iterated on and improved on the Graphics Tools. In Visual Studio 2015, Graphics Tools are now available for Windows 10. In his post VS 2015 and Graphics Tools for Windows 10 on the VC Team Blog, Rudolph Balaz talks about what is changing with how graphics tools get delivered. He also provides in depth description of new and improved features that help capture and playback parts of the game, improved debugging and analytics, and the new GPU usage tools for Direct3D 11. 

VS 2015 Graphics Tools for Windows 10 - GPU Usage

VS 2015 Graphics Tools for Windows 10 - GPU Usage Report

Free ebooks on Azure Essentials and Mobile Apps with Xamarin. This month I have 2 free ebooks to share. On Microsoft Press Blog Kim Spilker shares information about Microsoft Azure Essentials: Azure Machine Learning and Creating Mobile Apps with Xamarin. Both these ebooks are now available to download in all formats (PDF, Mobi, and ePub) from the Microsoft Virtual Academy.

Thanks you for reading!

 

 

 

 

 

 

 

Radhika TadinadaRadhika 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. 


Building Mobile Apps with Ionic and Monaca

$
0
0

Cordova makes it easy to build an app for iOS, Android, or Windows using web technologies. While the Blank project templates provide all the raw materials to build your basic “Hello World”, you’ve told us that you’d like to see richer starting points that use best practices vetted by the community, well-modeled design patterns, and advice on how to make slick-looking apps in less time. We hear you!

We’ve collaborated with some of the most respected mobile developers in the industry to bring great starting points into Visual Studio. Specifically, we called upon the wizards at Ionic and Monaca to give you project templates based on their libraries which use AngularJS routers, modules, controllers and factories. The templates allow you to use the Ionic or Onsen UI frameworks to build mobile apps with a native look and feel, right within Visual Studio.

To build Apache Cordova apps based on these Project Templates, simply head over to the Visual Studio Gallery and install the Ionic Templates and Monaca templates individually. In a few clicks, you will be able to see these templates in the New Project dialog:Ionic and Monaca Templates in New Project DialogNote: Currently, the Ionic templates are only available for JavaScript. We are working with the Ionic team to provide a TypeScript version in the near future.

After creating your project, you’re all set to begin developing in Visual Studio. You can run and debug these apps in Ripple, devices, and emulators just like the default Apache Cordova projects. Improved JS and HTML Intellisense for AngularJS also means that you’ll spend less time consulting documentation and more time coding.

App built using these templatesIf you’re familiar with the Ionic CLI, you can even drop into the command line thanks to the interoperability improvements we introduced in Visual Studio 2015 RC. What you see in Visual Studio mirrors what you see in the file system!

Better Intellisense Support

A few months ago, Jordan Matthiesen’s blog post covered some of the editor improvements that makes it easier to work with AngularJS. Because both the Ionic and Monaca frameworks a based on AngularJS, the experience working with these frameworks is much better thanks to these editor enhancements and a little addition.

First, both the Ionic and Monaca project templates provide d.ts files which contain metadata to help Visual Studio show class and method definitions for JavaScript libraries. This means you get great intellisense out-of-the-box:

Intellisense SupportSecond, Visual Studio 2015 RC ships with Intellisense support for Angular directives and ng- attributes in your HTML markup. This means you get Intellisense for your web components in both Ionic and Onsen UI:

IntelliSense for web components

This is just the beginning!

In the future, we would like to provide even more templates in Visual Studio that rely on more of the frameworks, libraries, and tools that you care about. If you are interested in helping out or have ideas on what templates we should deliver next, please post on UserVoice, Twitter, or StackOverflow. You can also ping me directly via e-mail.

Cheers,

Kirupa

Kirupa ChinnathambiKirupa Chinnathambi, Program Manager, Visual Studio Client Platform Team
@kirupa

Kirupa Chinnathambi is a Program Manager on the Visual Studio team where he spends a lot of time thinking about how to improve the HTML developer experience. When he isn’t busy writing short bios of himself for blog posts, he can be found on twitter, Facebook, and on kirupa.com.

Debugging Tips and Tricks

$
0
0

Unfortunately bugs are a part of software development, and despite our best efforts to write software correctly from the start we spend a lot of time in the debugger. While bugs are an unfortunate fact of life, finding them doesn’t have to be as painful as it often is. For you problem-solvers out there, the Visual Studio 2015 debugger contains a rich set of features that can really increase your productivity…assuming you know they exist, and how to use them! To help with you learn more about our debugging tools, I recently gave three talks on “Debugging Tips and Tricks for .NET developers”, at Microsoft’s Build Conference (60 minutes), at Microsoft’s Ignite Conference (75 minutes), and most recently on Visual Studio Toolbox (38 minutes). So check them out!

For the folks who like the printed word more than talking heads, I’ll also cover some of the highlights I hit on in the talks. These tips include both new features in Visual Studio 2015 as well as useful functionality from previous versions of Visual Studio.

Note: If you are interested in watching one of the talks, all three talks use the same demos and cover similar content, where the shorter talks are simply more selective about which features they show.

Start Debugging

While most debugging sessions begin with “Start Debugging”, there are other options as well:

  • Need to start debugging at the entry point of the application? Use “Step Over” (F10) or “Step Into” (F11) when in design mode and it will take you to the entry point of the application (assuming Just My Code is enabled) eliminating the need to find the line of code in the correct source file to place the breakpoint on.

  • No code edits to make at design time? Restart debugging allows you to quickly restart your application with debugging enabled. This eliminates the need to click “Stop Debugging”, then wait for the IDE to return to design mode, and THEN click “Start Debugging” again.

  • Need to start multiple projects in your solution? Configure your solution for multiple startup projects, to launch multiple projects with (and/or without) debugging. This is particularly useful when debugging a solution that contains applications that depend on each other at run time (e.g. a client and server).

Configure your solution for multiple startup projects

Execution Control

Need to get the debugger to the desired location in source code? Here are a few tips that can make this faster.

Data Inspection

Once you get the debugger to the desired location you’re probably going to inspect your application’s data. Here is a look at a few options:

Productivity Improvements

In the demos I also showed the improvements in Visual Studio 2015 that were some of your top requests to help improve productivity using the debugger:

Diagnostics Tool Window

Learn more

The above content was a quick sample of what was covered in the talks. If this piques your interest I would recommend watching one of the talks listed above (here are the links again for convenience--Visual Studio Toolbox, Build, Ignite—most detailed). 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 through Visual Studio’s Send a Smile feature, in our MSDN forum, via Twitter, or leave a comment below.

Andrew HallAndrew Hall, 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.

Extending Visual Studio 2015

$
0
0

When we decided to expand Visual Studio 2015 in the hopes of making it *the* premier platform for cross-platform development, we acknowledged that the ability for our customers to extend, customize, and generally make it their own was absolutely, critically important. It is a win-win: make an extension and you get a product or tailored experience for your specific scenario, and we – Microsoft – see Visual Studio’s potential audience get a little bit bigger and a little bit happier.

After 7 years of growing the Visual Studio Platform, it has become rather bulky and packed with features. In addition, it is hard to know where to start! We had to make it simpler. So with Visual Studio 2015, we set out on the long road of making it easier to develop extensions, giving you the functionality you need to make great integrated tools, frameworks, and languages, and connecting you with other extension authors in our ecosystem.

Starting with Visual Studio 2013 Community, and continuing with Visual Studio 2015 Community, you can create and use Extensions in a free version of our IDE. Get started today by directly downloading the Visual Studio Extensibility Tools or checkout the Visual Studio 2015 RC Downloads page. Now let’s look at all the new ways in which you can make Visual Studio your own!

Item templates: the convenient way to create basic extensions!

In Visual Studio 2015, it is exceptionally easy to add new functionality to your extension. In earlier versions of VS, you depended on project templates and “merge projects” to get more functionality. Now, all of your favorite extensibility templates are available to use as item templates, which means adding a new menu command or editor feature is as easy as adding an item to an existing extensibility project. If you would like to see any other item templates, request them here. To get started with item templates, check out Creating Templates for Projects and Items in Visual Studio, Starting to Develop Visual Studio Extensions, and Creating an Extension with an Editor Item Template.

Add Item

Visual Studio Extensibility on GitHub

We are now on GitHub! Share your open source extensions with the growing community of Visual Studio Extension authors on http://microsoft.github.io/extendvs. Submit a pull request to have your own extension’s repo added to the Community Extensions list. We look forward to seeing yourextensions in GitHub, it’s a great way to add your voice to the thousands of extension authors who help shape the Visual Studio Extensibility platform.

Getting the VSSDK Just Got Easier

In the past, when you opened an extensibility project in Visual Studio without having the VSSDK,you would get a cryptic error message in a big, confusing dialog box. Now, you can simply open the project directly – no fuss.

If you don’t have the VS SDK installed, Visual Studio 2015 asks you to install it when you want to do things such as add an item template.

VSSDK Availabiliti Notification In Solution ExplorerTo get started, download the VS SDK directly or check out the Visual Studio 2015 RC download page, under Additional Tools, to learn more about the SDK. In the final release of Visual Studio 2015, you the VS SDK is part of your initial setup.

Visual Studio SDK reference assemblies via NuGet

For increased portability, and sharing of extension projects, you can use the NuGet versions of the VSSDK Reference Assemblies. This makes it so you have access to everything you need for an extensibility project on any connected machine. No need to spend time downloading the SDK, and then adding the references into your project. When you author your extension project with the NuGet-based reference assemblies, it pulls everything you need directly into your project.

New and improved docs

We’ve overhauled the documentation to help you better discover the best walkthroughs and reduce the headache of finding the best APIs for the job. Get started with our up-to-date Visual Studio SDK walkthroughs.

Whether you are updating a set of in-house developer tools, have a great idea for the next great VS productivity tool, or are creating the next big Visual Studio framework, we’d love to hear your feedback! Drop us a line at Heather.Brown@microsoft.com, add suggestions on UserVoice, or visit us on Stackoverflow with tag “visual-studio-extensions”.

HeatherBrown-smallHeather Brown, Principal Program Manager, Visual Studio Platform Team
@Heathbr_MSFT

Heather Brown is a Principal Program Manager on the Visual Studio team where she aspires to create a Visual Studio that maintains the familiarity of our most prized developer tool, with new innovations that empower developers to do more.

Tools for Apache Cordova – Samples and Docs

$
0
0

Open source code is the norm for so many developers these days, and unsurprisingly, so is open documentation. From Azure to TypeScript, public repositories have become a go-to place for sharing samples, tutorials, and “tips and tricks” so that everyone can learn and contribute together as a community. So beginning today, we’re joining the party, starting with our Cordova docs. You can find Cordova samples and tutorials and “tips and tricks” in our GitHub repo.

Samples

These assets won’t replace the Cordova documentation already found on MSDN. Instead, they’ll complement our existing docs by providing a venue where everyone can contribute, comment and learn. In this post, I’ll talk a bit about what you can expect and how you can contribute.

Cordova Samples

At the root of our Cordova samples repository, you will find things that are common to all samples (such as license, readme, and contribution information). Each of the sample apps are isolated in a sub-directory from the repository root. Once you open a sample app folder, you see similar directory structure as follows:

Angular Project StructureThe readme file contains important information on what the app implements, how it goes about doing that, and the dependencies -- in a nutshell, everything you need to understand and run the sample app. Also, at the sample folder-root, you will find an *.sln file which you can double click to open the project in Visual Studio 2015. Although the sample apps contain Visual Studio project files, the project is fully compatible with Cordova CLI project structure and can be used outside Visual Studio.

If you run into any issues with the samples or have suggestions for new ones, please open an issue or better yet, send us a pull request. Learn more on how to create a pull request on GitHub. For a complete list of how you can contribute, please check out the CONTRIBUTING.md file.

Cordova Docs, Tutorials, Tips & Workarounds

In addition to MSDN, you can find supplemental Cordova documentation on GitHub. Similar to the Cordova samples page, you will find a readme file with the list of tutorials and tips/workarounds at the root of the docs repository. Each of our tutorials are also in their own subdirectories (just like our sample apps). All of our docs are written as regular Markdown files, so it’s easy for anyone to contribute new content quickly.

Docs

If you find any issues with the docs or have suggestions for new ones, please open an issue or better yet: send us a pull request. (Learn more on how to create a pull request on GitHub.) For a complete list of ways you can contribute, please check out the CONTRIBUTING.md file.

Share, Contribute and Learn Together

We are at the beginning of the journey to open source our samples and docs and we still have a long way to go. We would like to invite you all to join in our journey to grow an active community of Cordova developers to build samples and documentation for everyone to benefit from.

We are excited for you to tryout our samples and docs and we look forward to seeing your feedback. You can share your feedback directly with the product team via UserVoice, Send-a-smile, Twitter, StackOverflow, or email.

If you have not already done so, go ahead Download VS Enterprise 2015 RC in Englishto get started right away (or go here for other languages and editions) and don’t forget to check “Tools for Apache Cordova” during setup.

Happy Coding!

imageAli Satter, Program Manager, Visual Studio Client Tools Team
@cpsloal

Ali works on the Visual Studio Client Tools team where he spends his time thinking about how to improve Cordova developer experience inside Visual Studio.

Introducing the Project System Extensibility SDK Preview

$
0
0

We are very pleased and excited to announce the availability of the Project System Extensibility SDK. With it, you can define a new project type and begin writing extensions to customize the user experience or add features in just a few minutes while owning very little code. Gone are the days where you have to create or maintain an entire project system (usually a fork based on MPFproj) often containing well over 100K lines of code. Instead, you'll be building on the Common Project System (CPS) that ships with Visual Studio and is already used by C++, JavaScript, and ASP.NET 5. Here is a short video to help get you started.

 We built CPS to address the scalability, performance, responsiveness and rehost-ability aspects that modern customers demand while decreasing your time to market.

Differences between Project System Extensibility SDK and MPFproj

If you have ever written a project system for Visual Studio, you very likely are familiar with MPFproj and may have even used it as the basis for your project system. MPFproj follows a source code distribution model where you must fork the entire source tree, customize it, and build it into binaries that you ship.

The problem with this approach is that if the MPFproj base is updated to fix bugs or add features, you manually merge those changes into your code base and re-ship your project system. MPFproj itself is a huge codebase with more than its fair share of bugs and less features in common with C#/VB. Using MPFproj as the basis for your project system is a daunting task and can take many engineer-months to get to a shippable state.

In contrast, with the Visual Studio Project System Extensibility SDK, you write extensions for the project system that is built into Visual Studio. Specifically, you don’t develop an entire project system any more. Rather, you simply compile your project system extensions against our reference assemblies and then ship your extension.

When Visual Studio loads one of your projects it also loads all extensions that apply to that project so that whatever features you’ve added, or behavior you’ve tweaked, are seen by your customer. Later, when we fix bugs in the Visual Studio project system, those fixes will automatically apply to your project types as well simply because your customers took the VS Update or upgraded to a newer version of Visual Studio.

Another drawback with MPFproj and most other project systems is that the project system is a black box at runtime. Thus, anyone who wants to reuse and change it must resort to COM aggregation. This is where you pretend to be the project system entirely, yet you’ve only implemented a small part of it, and you must forward all other functionality requests to the “inner” project system. This approach is complex and easily leads to subtle bugs when the outer “flavor” changes behavior such that the inner project system’s internal state becomes corrupted.

With the Project System Extensibility SDK we no longer use (or support) COM aggregation to flavor an existing project type. Instead, you just write a MEF extension and tag it with an attribute that describes which projects it should apply to. Read more about this in our open source documentation.

 

That’s great, but I already have a project system. What do I get if I migrate?

The Visual Studio project system is designed from the ground up to be performant, scalable, and responsive – much more so than MPFproj. To close the gap between your project system and other project systems that Microsoft ships, it can be less costly to migrate first and then simply turn those features on, rather than re-implement and maintain those features in your own project system. As new features are added to the Visual Studio project system, you’ll be able to activate those features when necessary in your own project types.

On the “less is more” side, your code size after migration is expected to be much smaller than before migration. For example, the set of extensions for the Windows 8 JavaScript project type is about 15K lines of code, which is 62% less than MPFproj which starts at 40K. And certainly your project extensions can be much less than 15K if you’re not customizing as much.

If and when you migrate, you shouldn’t rush into converting your existing MPFproj code base to the project system extensibility SDK. Rather, start with a new project type or flavor using the SDK, then add extensions to reproduce the unique behaviors that your MPFproj-based project system used to provide, migrating just those portions of code over as necessary. You may find in some cases that behaviors cannot be brought directly over without a rewrite, which often leads to code that is much smaller and more maintainable than what you had before.

 

Is the Project System Extensibility SDK right for me? Why is it in Preview?

With all this simplification, you’d think that our answer would be “Yes!” (And for most devs we think that will be the answer.) However, it might not be the right choice for you! Perhaps you do not want to require Visual Studio 2012 or earlier. Or perhaps your project type requires customizing behaviors of the project system that are not yet exposed as extensibility points. Either way, we’d love to hear from you about your intentions and any blockers you might have.

Right now, in Visual Studio 2015, the Project System Extensibility SDK is in Preview. We will keep it stable going forward in VS 2015 itself (VS Updates won’t break you as a project system extension author), but in the next major release of Visual Studio after 2015, breaking changes will be made one final time. We are taking the VS 2015 release (starting with RC) as an opportunity to get feedback from the community which may include API changes, along with some changes we already have in mind, so that we can aim for the next version to be the last one with breaking changes.

While the new Visual Studio project system has been proven for Visual C++’s limited use (C++ still implements half of its own project system), and for JavaScript and ASP.NET vNext, it does not necessarily hold for all scenarios that we ship across other project systems. In fact, we know there are bugs in some of these other scenarios that we’re still working through. As you evaluate when to switch to the Project System Extensibility SDK, consider both the risk of hitting bugs and the opportunity you have to provide those bugs and other feedback to us early on so we can fix it either in a VS 2015 Update or the next major version. We hope many of you will decide to pilot a migration that will lead to feedback and possibly a success story from you.

For more guidance on determining whether now is the right time to migrate to the Project System Extensibility SDK, review our Introduction Docs.

 

Our roadmap for the project system

We anticipate most or all new project types that ship from Microsoft will be based on this SDK. We also look forward to migrating some of the existing project systems to this SDK in upcoming versions of Visual Studio.

With every feature we ship, we try to define the primary measure of success. For this new project system platform, success is when our customers forget what a project system is. It should feel like just another part of Visual Studio and extending or tweaking it should be as easy as extending the editor, the new C#/VB language service (Roslyn), or any other modern component of the IDE. To achieve this, we just defined new project types, or extensions to “flavor” existing ones, rather than creating whole new project systems. We want you to focus on what makes your project types or flavors unique and valuable to your customers rather than spending most of your time fixing bugs and re-implementing features that we added to C# or C++ in the latest version. Also, we want to make as many features as possible from our own project types available to you to use in yours. Try out the new Project System Extensibility SDK and share your feedback with us via the channels prescribed in our README or leave a comment below!

Thanks,

Andrew

Andrew ArnottAndrew Arnott, Principal Software Engineer, Visual Studio IDE
@aarnott, MSDN Blog, Private Blog, StackExchange

Andrew has been at Microsoft for 9 years and has contributed to the Visual Studio platform, project & build systems, and the .NET Compact Framework. He is also a father of 3 kids with one more on the way.

Viewing all 1076 articles
Browse latest View live


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