Ici vous trouverez les dernières informations sur la famille de produits Visual Studio.
Share Your Open Source Extension on the Visual Studio Gallery!
In a recent post on Extending Visual Studio 2015 we shared how easy it is to create Visual Studio extensions. We also shared links to our improved docs and to our presence on GitHub. Continuing in this vein of improvements to make it super easy to write and share extensions, I’d like to share the improved integration with GitHub in the Visual Studio Gallery.
Today there are thousands of very useful open source extensions in the VS gallery with their code hosted on GitHub. These open source extensions provide a chance for other developers to learn and collaborate, and for the extension authors to get feedback on their extensions. However, the only way for extension developers to share their own repo is to put a link in the long description of their extension. Needless to say, this made it really hard to discover the sources for an extension – and so we fixed it! Now, as an extension author, you can easily provide the GitHub URL of your extension. We will pull information such as the number of open issues and pull requests, and display it on the gallery page for your extension (see below picture as an example). As an extension consumer, this change will make it easy for you to find the source repo information, provide feedback, and collaborate on open source extensions.
Web Essentials 2013 extension on GitHub
Here’s how you can display your source repo information on VS Gallery.
Sign in to the Visual Studio Gallery
Open your extension edit page (the same process you use when uploading an extension).
On the Edit page, add your source repo URL under “Provide Url to source code repository” check box and click save.
Right now, about 150 of our extension authors have already taken advantage of this feature and added links to their GitHub repos to their Gallery pages. Go Extenders!
Coming Soon in the Visual Studio Gallery
This is the first step towards improving the experience for open source extension in the Visual Studio Gallery. Here is a peek into other improvements we have in mind:
Pull extension description from ReadMe.md. Want to save your time on writing extension descriptions? With this change we will pull ReadMe content from your GitHub repo directly and populate the description on Visual Studio Gallery.
More extension statistical data. We have heard requests from you for easier ways to see statistical data for your extensions. The idea here is to not only show more statistical information on your extension page, but also provide a set of APIs for you to easily consume this data.
Show badges on your repo. On your repo a badge will show how many people downloaded your extension. We also think it will be fun if we can provide extension authors a way to generate badges similar to this:
Get rewards from your extension. Extending the reward element from badges, we also plan to provide a points and rewards system for extension authors.
Extension upload API. Want to have some APIs to upload extensions? Or even integrate with CI services to trigger an auto upload? This is also part of our improvement plan so keep an eye out for upcoming updates to the Gallery.
We have shared above some of the top items on our mind. Is there anything else you’d like to see improved in Visual Studio Gallery? We'd love to hear your feedback! Please share your suggestions with us either through the UserVoice site, drop us a line on email@example.com, visit us on Stack Overflow with tag “visual-studio-extensions”, or simply leave a comment below.
Top News from May 2015
Hello everyone! Every month I share some top stories from the previous month. Here’s an overview of some top posts in May.
Top Trending Content for May 2015
.NET at Build 2015. On the .NET blog, Richard Lander shared 2 interesting posts. .NET Announcements at Build 2015 is an excellent one-stop shop for everything you need to know about the latest updates in .NET core, .NET Execution Environment (DNX), .NET languages, ASP.NET, Entity framework, and all of the improvements in Visual Studio for .NET. Targeting the .NET framework 4.6 RC has details about the latest version of the .NET Framework and the new APIs it exposes. This post builds up from how to target a .NET framework, to how .NET framework 4.6 can be targeted in VS 2013 as well as VS 2012.
Visual Studio Code Update 1. Visual Studio Code is a new, free, cross-platform code editor that was announced during Build 2015. Check out the VS Code product page to learn about all you can achieve using VS code. VS Code is expanding rapidly in its support for various languages and tools to make it easier for you to use. The first update for Visual Studio Code was released with over 300 improvements and bug fixes. Have you been thinking of using Visual Studio Code with Angular, TypeScript. Or have you wondered how you can use it to build Mobile Hybrid apps? Look no further! Chris Dias talks about using Angular with VS code, and also has a post to get you started with building Mobile Hybrid Apps with VS Code and Ionic, Jonathan Turner shares a quick walk-through for using TypeScript in Visual Studio Code, and Sean McBreen shares information about VS Code and Docker. Keep an eye on the Visual Studio Code blog for more feature posts and upcoming updates.
Blend for Visual Studio 2015 RC. Visual Studio 2015 RC Blend got a major update with many new features and improvements. Kino Aguilar highlights some top features including: the new user interface tailored for XAML developers; Roslyn powered IntelliSense; and UI tools for XAML debugging. He also talks about how easy it is to navigate between designing in Blend vs. editing in Visual Studio using the new commands. Download Visual Studio 2015 RC to try the new Blend.
Bringing Clang to Windows. On the VC++ blog, Raman Sharma talks about how Clang is fast becoming the preferred C++ compiler for non-Windows platforms. To extend the various capabilities and benefits of using Clang, to the C++ developers building Windows apps, the team is working on an experimental implementation of Clang on Windows. Jim Radigan demonstrates this in his build talk on Compiling Objective-C. The Clang and LLVM community has provided packaged toolset builds for Windows that integrate very well with Visual Studio. This post talks about how we have built on top of this toolset to deliver additional capabilities like cross-platform development.
Introducing Visual Studio’s Network Tools. With the release of Visual Studio 2015 RC, a new network tool (part of the existing Performance and Diagnostics hub) was released. This tool helps you diagnose network related issues when building Windows apps across the Windows continuum from Windows Phone, to HoloLens, to Xbox. In his post introducing the VS network tool, Ruben Rios shows you how and where you’d use this tool, and details the different sections of this tool as well as the views of the network traffic it shows. He also shares how the default views have been built to maximize your productivity when using this tool.
7 cool features in Visual Studio Online. ALM rangers like Willy-P Schaub not only share their thoughts on the Visual Studio ALM Rangers blog, but also author e-books like Managing Agile Open-Source Software Projects with Visual Studio Online. Recently they published a post on the 7 cool features noticed in Visual Studio in the most recent update. This is a short and sweet post to get you up to speed on the top new features like the ability to fast track to your Kanban board or get straight to your code after creating a project. Visual indicators tell you which items on the board are managed by your or another team. The board itself can be easily customized, you can split columns into Doing and Done and easily specify Definition of Done for each column.
C# 7 Features. In this article, Mike James shares Mads Torgensen’s working list of features for C# 7; think of this as more of a wish list than a set of promises. Mike also provides some details on some of the features to give you a better idea of its capabilities, along with some good examples. Some items on the feature list are tuples, pattern matching, non-nullable references, using statements, and async/await. To give you a small view into what these features really mean, a tuple is a group of typed values that are gathered together for some temporary purpose, like a set of method parameters could be grouped into a tuple. Pattern matching allows for powerful conditionals based on the type of an expression. The features have been categorized into various buckets to facilitate discussion. Checkout the working list and Mike's blog post to see examples of these features in use.
Building Mobile Apps with Ionic and Monaca. With Visual Studio Tools for Apache Cordova it is very easy to build an app targeting iOS, Android, and Windows. Kirupa Chinnathambi shares how the team took this a step further by collaborating with Ionic and Monaca to provide project templates within VS. These templates allow you to use Ionic or Onsen UI frameworks to build mobile apps right within Visual Studio.
Code Analyzers: Using Roslyn to analyze your code. Channel 9 has a lot of useful content under shows, series, blogs, events, etc. The particular video of interest is on the DevRadio blog where Jerry Nixon talks to Srivatsn Narayanan to discuss how you can use Roslyn to analyze and troubleshoot errors. The video starts off with Srivatsn giving an overview to explain Code Analyzers and how they are useful. It then deep dives into use cases, where and how you can use code analyzers, which languages it applies to, etc.
Thanks you for reading!
|Radhika Tadinada, Program Manager, Visual Studio
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.
Each of these areas was chosen based on feedback we heard on UserVoice, through social media, via the send-a-smile/frown feature in Visual Studio, and from many direct discussions we’ve had with developers like you.
AngularJS 1.x and RequireJS support
By default, Visual Studio 2015 supports the very popular AngularJS and RequireJS libraries. Previously on this blog we’ve discussed the setup required when using Visual Studio 2013 with both of these libraries (using AngularJS in VS, using RequireJS in VS). In Visual Studio 2015, the support is baked in, with no additional setup steps required.
Whenever you reference the angular.js (or angular.min.js) library in your code, editor automatically provides IntelliSense, Go to Definition, and navigation bar support:
IntelliSense support for Angular 1.3, showing suggestions for the routeProvider service
Similarly, RequireJS IntelliSense and navigation support are automatically enabled when you bring in the require.js library. To customize RequireJS support, see Customizing IntelliSense in RequireJS.
IntelliSense suggestions for a module referenced using RequireJS
JSDoc documentation comments
JSDoc comments displayed in IntelliSense tool tips
Documenting configuration objects using JSDoc
In addition to JSDoc comments, XML-style documentation comments continue to be supported as they were in Visual Studio 2013. A full list of the JSDoc tags supported by the editor may be found on MSDN.
New language and browser features
ECMAScript 2015 (formerly ECMAScript 6) support
- Arrow functions (also known as lambdas)
- Template strings
- Rest/spread operators
- Object literal enhancements
- New ES2015 APIs such as Map, Set, Weakmap, Weakset, Promises, and a variety of other API changes
This allows you to now write code such as the following:
Using new language features in ES2015
You may have noticed that some ES2015 features aren't supported yet, such as modules. We’ve heard from you that support for the latest ES2015 language features is important and we’re looking to support the full ES2015 specification as soon as possible.
IntelliSense for new web browser APIs
Visual Studio 2015 also provides IntelliSense support for new web browser APIs available in Microsoft Edge. Here are a few API highlights:
You can use the Visual Studio task list to keep track of // TODO, // HACK, // UNDONE, or custom comment tokens in your source. This can help to surface technical debt and possible issues in your code.
In the following example you can see how the editor understands ECMAScript 5 source:
And in another example, you can see that the navigation bar supports the new ES2015 class keyword (which greatly simplifies the equivalent prototype syntax in the previous example):
Developing for iOS using the Tools for Apache Cordova
Over the last year, we have been working on a number of different areas to improve the overall developer experience when using Apache Cordova for building iOS apps. In this post we’ll summarize the great features already available and highlight some areas you’ll see even more improvements in the coming months.
Ionic and Monaca Templates
The key to every great app is a great UI. As we highlighted a few weeks ago, Monaca and Ionic are two increasingly popular UI frameworks designed to quickly bring web based mobile apps to the next level. Apps built using each framework look and feel great on iOS. Best of all, Monica’s Onsen UI provides powerful theming features and Ionic has SASS based theming capabilities that you can use to give your app either an iOS look and feel or a branded platform-agnostic one as you see fit.
Visual Studio iOS Build and Debug
The Tools for Apache Cordova use a remote agent running on OSX to build, simulate, run, and debug an iOS version of your app right from Visual Studio. You can install this agent on your own machine, use a “pay as you go” or managed plan in MacInCloud, or dedicated cloud capacity in MacInCloud or MacStadium. These cloud providers have the advantage of being total Mac replacements that give you access to not only iOS builds, but also Xcode and all the tools necessary to get you going with iOS development including using the iOS Simulator, accessing and generating signing certificates, and publishing your app using Application Loader.
iOS and Visual Studio Online
The Tools for Apache Cordova are designed to work with a number of different team build / CI systems since the projects they create are standard Apache Cordova Command Line interface (CLI) projects. Team Foundation Services (TFS) 2015 provides a new cross-platform agent that enables TFS to build directly on OSX. The end result is that TFS and Visual Studio Online (VSO) have support for building iOS apps using Cordova or even native Xcode projects for the first time.
The VSO cross-platform agent is Node.js based and uses a simple HTTPS connection to your TFS 2015 server or Visual Studio Online to fetch work. As a result, your OSX machine only needs to have HTTP access to your TFS/VSO instance but not the other way around. This makes setup and configuration quite simple and means that dedicated capacity on your own internal network, MacInCloud, or MacStadium can be directly integrated with Visual Studio Online with no additional network configuration!
Better still, you can try out these new cross-platform and iOS build capabilities today for free in Visual Studio Online by simply clicking on the BUILD.PREVIEW menu option and starting up an agent on your own Mac hardware or dedicated capacity in MacInCloud, MacStadium, or another hosting provider.
Sign up for VSO today and see our TFS 2015 and VSO tutorial for details on getting your Visual Studio 2015 Cordova project up and running in with these new capabilities. You can expect an even more streamlined approach in the coming months.
Microsoft App and Dev Services
In addition to these IDE and VSO features, iOS is also a first-class citizen in a number of other Microsoft app and developer services.
We’ve already covered the capabilities that Visual Studio Online can bring to the table for iOS app development but it’s also worth noting that you can also deploy the apps you’ve built internally using Microsoft Intune.
Intune provides a complete Mobile Device Management solution designed to help you secure your iOS, Android, Windows, and Windows Phone devices in an enterprise environment. It has full support for managing iOS devices and provides both an internal app store for employee self-service and the ability to manage and restrict apps on iOS devices. The end result is that you can upload apps you’ve built using Tools for Apache Cordova and deploy them to any number of managed devices.
Intune also has an increasing number of Mobile Application Management features designed to provide you with the ability for even more granular control of security at the individual app level. An app wrapping tool for iOS is already available and you can expect even more exciting features here in the coming months.
Microsoft App Services
Microsoft provides a number of powerful services that developers can use to accelerate building their apps. These services are not just limited to Microsoft devices. Apache Cordova projects targeting iOS can take advantage of these services through a set of Cordova plugins contributed by Microsoft.
Here’s a small sample of Microsoft service-related plugins available for you to try out today:
- Azure Mobile Services – The Azure team has released an Azure Mobile Services plugin with full iOS support. You can quickly configure your app to use it from Visual Studio simply by right-clicking on your project and selecting “Add > Connected Service…”
- Active Directory – The Active Directory team recently announced an ADAL and AD Graph plugin for Cordova 5.0.0 that makes it simple to use Active Directory via a native iOS library.
- Application Insights – The Application Insights team has recently released an Application Insights plugin designed to allow you to collect and analyze usage data from your Cordova app.
While some of these plugins are still early in their development lifecycle, you can expect continued investment from Microsoft in open source and the Apache Cordova community. Our engineering team is committed to ensuring Cordova is fast, reliable, and easily connected to essential app and dev services.
Command Line Interoperability and Visual Studio Code
Last, but not least, we’ve taken steps to make Visual Studio 2015 “command line interoperable.” Developers working in teams using both Mac and Windows can open and edit the same Cordova project using their code editor of choice. By simply installing the correct version of the Apache Cordova Command Line Interface (CLI), you can grab your project’s source code out of a Git repository and continue to build your app on OSX. We’ve created a Cordova plugin to help deal with a few Visual Studio specific features and you can expect much more in the coming months.
What this means is you can now have team members on Windows and OSX developing against the same code base thanks to Visual Studio and Visual Studio Code. Both Visual Studio and Visual Studio Code now reflect the file system directly, so editing your Cordova project in Code is as simple as selecting “File > Open Folder” and selecting your Cordova project folder. You can even use the powerful Gulp task runner and its associated plugins both from within Visual Studio using the Task Runner Explorer and from the command line when using VS Code.
For iOS, being able to edit your project on OSX means you can troubleshoot particularly sticky problems by opening up a native iOS project generated by the “cordova prepare ios” Cordova CLI command from in the “platforms/ios” folder in Xcode – either on own Mac or using a cloud based service. You can then make your edits, build using the Cordova CLI or other command line tools, and then commit your changes back into source control. Developers using Visual Studio or Windows can simply pull down these changes locally when you are done without taking any additional steps.
We’ve got more plans coming to make this workflow even better, so stay tuned!
It has been a busy year since we first shared a Technology Preview of the Tools for Apache Cordova at TechEd in June 2014. With Visual Studio 2015, we are finally ready to declare official support thanks to the early adopters and the fantastic feedback we’ve received from the Visual Studio and Cordova communities. Thank you! We hope these iOS related features resonate with you and look forward to making things even better in the coming months.
If you haven’t tried out Tools for Apache Cordova yet, simply download Visual Studio 2015 Community or Enterprise RC and be sure to select the “Tools for Apache Cordova” option when installing.
We’re always interested in your feedback, so please contact us via UserVoice, Send-a-smile, Twitter, StackOverflow, or email. If you’d like to contribute to our documentation, you can see this blog post on contributing.
Chuck Lantz, Program Manager, Visual Studio Client Tools Team
Chuck spent over 15 years as developer, advocate, and architect in a variety of mid and large scale enterprise IT shops. He brought his passion for app development to Microsoft in 2012 and is currently focused on cross-platform mobile app development.
Introducing the Project System Extensibility Preview
[Update 6/4: We've updated this post to clarify the roadmap of this project to become part of the Visual Studio SDK, once it moves past the Preview phase.]
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 CPS 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 Project System Preview, 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 CPS 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.
If and when you migrate, you shouldn’t rush into converting your existing MPFproj code base to CPS. Rather, start with a new project type or flavor using the Preview, 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 CPS 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 2013 or later. 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, CPS 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.
For more guidance on determining whether now is the right time to migrate to CPS, 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 CPS. We also look forward to migrating some of the existing project systems to CPS in upcoming versions of Visual Studio. When the API for project system extensibility stabilizes it will come out of Preview and be added to the Visual Studio SDK.
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 Preview and share your feedback with us via the channels prescribed in our README or leave a comment below!
|Andrew 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.