520 likes | 541 Views
What’s New in Visual Studio 2015 and TFS 2015. Tim Ferro Philly ALM User Group October 20 th , 2015. Transform your business with RDA! rdacorp.com | 888 441-1278 | marketing@rdacorp.com. Office 365 / SharePoint Implementations * Upgrades Hybrid * Portals Workflows * Search.
E N D
What’s New in VisualStudio 2015 and TFS 2015 Tim Ferro Philly ALM User Group October 20th, 2015
Transform your business with RDA! rdacorp.com | 888 441-1278 | marketing@rdacorp.com Office 365 / SharePoint Implementations * Upgrades Hybrid * Portals Workflows * Search Cloud Enterprise Transformation Hybrid * Platform Services Mobile * Security Application Integration Digital Marketing Internet Sites * CMS eCommerce * Sitecore Data Analytics Visualization * Warehouse Big Data * SQL Server Tableau
Tim Ferro Microsoft MVP: Visual Studio ALM Senior Software Engineer at RDA Corporation Senior SharePoint Developer / SharePoint Architect Author / Editor / Speaker / Blogger / Tweeter 11+ Years Engineering Software Solutions 8+ Years Developing Solutions for SharePoint ferro@rdacorp.com www.timferro.com @timferro
Agenda Visual Studio 2015 Team Foundation Server 2015 MSDN
Visual Studio 2013/2015 Wave Frequent updates for on-premises/boxed products Visual Studio 2013 Update 4 Visual Studio 2015 CTP 1 Visual Studio 2015 RC Visual Studio 2013.5 RC Visual Studio 2013 Update 1 Visual Studio 2012 Launch Visual Studio 2015 Update 1 CTP Visual Studio 2013 Update 5 CTP 2 Visual Studio 2015 RTM Visual Studio 2013 Update 5 Visual Studio 2013 RTM Visual Studio 2013 Update 3 Visual Studio 2013 Update 2 Visual Studio 2012 Update 4 November 2014 January 2014 November 2013 April 2015 October 2015 June 2014 May 2014 August 2014 January 2015 July 2015 September 2012 November 2012 3-week service delivery sprints Visual Studio Online
What’s New? Visual Studio C++ for Cross-Platform Development Visual Studio Tools for Apache Cordova Visual Studio Emulator for Android Visual Studio Tools for Universal Windows App Development Visual C++ C# and Visual Basic F# .NET Framework 4.6 Entity Framework Visual Studio IDE Blend Debugging and Diagnostics ASP.NET Azure NuGet JavaScript TypeScript IntelliTest Application Insights Release Management Single Sign-In Git Version Control CodeLens Architecture, Design, and Modeling XAML Language Service Miscellaneous
Customizable setup that is lighter and faster One of your top voted requests on setup is to make Visual Studio installer more customizable. Setup for Visual Studio 2015 puts you in control of what gets installed, enabling the installation to be smaller and faster. We have also expanded the suite of components installed with Visual Studio to include multi-device development platforms and solutions across C#/.NET (Xamarin), HTML/JavaScript (Apache Cordova), and C++. During setup, you will see options to pick from various components to install with Visual Studio. Depending on what you choose, you can potentially reduce the size of a default install by 50%, compared to previous releases.
Touch Support Touch support is now available in the Visual Studio editor for the following gestures: Scrolling (tapping-and-dragging on the editor surface on the regular and enhanced scrollbars) Pinch-to-Zoom Select a whole line by tapping in the editor margin, and select words by double-tapping them Invoking the editor context menu by pressing-and-holding
Color Theme Editor We have also released the Color Theme Editor to give you the power to customize the color palette of the IDE. You can choose from any of the prebuilt themes or start building your own theme and even share with your friends!
Improved Notifications Hub In Visual Studio 2015, we’ve added a new notification that gives you an option to learn more about a recent Visual Studio crash. There are now quite a few notifications you may get through the Notifications Hub, so we’ve simplified the UI. Notifications are better categorized, and titles and descriptions are one line each. You can also choose to ‘always ignore’ notifications that are not important to you.
Connected Services The new Add Connected Service dialog in Visual Studio 2015 enables you to easily connect your application to Azure Application Insights, Azure Storage, Azure Mobile Services, Office 365, and Salesforce. The Add Connected Service dialog contains all of the Connected Service providers currently installed and provides a way to get more information about the provider, the technologies it uses, and whether it's supported in the current project. Other providers can be discovered in the Extensions and Updates gallery by using the Find more services... link. The Add Connected Service dialog is also extensible. If you're a service developer, you can use our Connected Services SDK to build a provider that can improve discoverability and drive usage of your services.
Enterprise Single Sign-On A common task for business application is to configure the application for enterprise single sign on using Azure Active Directory. You can now do this easily at any point during the construction of your application by right-clicking on your application and selecting Configure Azure AD Authentication.... This will bring up a wizard similar to the Add Connected Service experience to guide you through the process of configuring your application to work with Active Directory. Specifying an Active Directory Domain in the wizard will register your application with that Active Directory and configure your application to prompt for sign-in.
Azure Tooling Account Picker Integration The Account Picker is being used throughout the Web Publishing and Web App creation/selection dialogs, to enable one-click access to multiple accounts. You can log in once to multiple accounts, and have quick and easy access to select individual accounts as you publish resources. API Apps The API Apps preview template, publishing support, and Server Explorer visibility have all been migrated to Visual Studio 2015. Now you can create and deploy Azure API Apps using the latest version of Visual Studio. We've also improved the Swagger output functionality so that API app developers will have better out-of-the-box support for dynamically-generated Swagger from ASP.NET Web API.
Azure Tooling WebJobs Tooling You can now control web jobs on the Server Explorer WebJob node inside an Azure Website in the following ways: WebJobs nodes underneath Website nodes in Server Explorer. Start/Stop Continuous WebJobs from Server Explorer. Run On-demand or Scheduled jobs from Server Explorer. View WebJob Dashboard from Server Explorer. The View Dashboard context menu; use it to go to the Azure website's WebJob dashboard. WebJobsSDK The WebJobs SDK is pre-installed in the Azure WebJob project templates.
Code Editor UI and Editing The code editor UI and editing experiences for C# and Visual Basic have been replaced with new experiences built on the .NET Compiler Platform ("Roslyn"). Many of the features you love today have been improved or revamped. Light bulbs are the new home for all quick actions you take in the Visual Studio Editor, including fixes to common code issues and refactoring code. When you have issues in your code, a light bulb shows suggested fixes for those issues. All refactoring operations have been moved to the light bulb, which you can access any time by typing Ctrl + <dot>.
Code Analysis You can get live code analysis and automatic fixes as you type, with specific code-aware guidance for the Microsoft platforms and NuGet packages that you're targeting. At Preview, you need to add the live FxCop analyzers through a NuGet package you get from the NuGet Gallery, as you would any other package. As you pull in any given live rule, it displaces the equivalent post-build FxCop rule, so you don’t get duplicate hits. Here is an example from the Code Analysis for Azure package.
Enhanced Error List We’ve also enhanced the Error List so that it is your “one-stop-shop” for navigating and correcting code-related issues in your solution, whatever their source: compilation, code analysis, or live "Analyzers" which spot domain-specific issues as you type. You can use the advanced filtering available in the Error List to focus on a problem, navigate to it, and make your fix. For example, you can filter to see only the errors from your last build or in your current project. The Error List now also has a better default ranking, so that top issues appear at the top of the list. For extra assistance, you can just click the Code Link or press F1 when you have an error selected, to see Bing powered compiler help which uses all the relevant context on the error (such as language, project type, error message) to locate the best web content to help you resolve your issues.
Timeline Tool Our new Timeline tool provides you with a scenario-centric view of the resources that your applications consume, which you can use to inspect, diagnose, and improve the performance of your WPF and Windows Store 8.1 applications. The Timeline tool, which is in the Performance and Diagnostics hub, shows you how much time your application spends in preparing UI frames and in servicing networks and disk requests, and it does so in the context of scenarios such as Application Load and Page Load. Learn more about the new Timeline Tool in Visual Studio 2015. (The new Timeline tool replaces the XAML UI Responsiveness tool.)
Scripts & Styles JSX editor (React.js) Visual Studio now supports the JSX syntax of any files with the .jsx file extension. Get both IntelliSense, formatting and validation in the editor as you type. This editor was built in collaboration with the Facebook team that is responsible for the React.js library. Browser Link CSS is automatically synchronized. Saving the CSS file or changing it externally (for example, by using a LESS/SASS compiler) causes the entire CSS file to reload in the browser. If the file cannot auto-sync, Ctrl + S causes an automatic reload, which should put it back into a good state without having to refresh the linked browsers (Ctrl + Alt + Enter). The feature can be disabled in the toolbar. TypeScript Visual Studio 2015 includes the 1.5 release of the TypeScript tools. This release adds rich support for ECMAScript 6, including modules, destructuring, for..of, spread, symbols, computed properties, let/const for ES3/ES5, and tagged string templates for ES3/ES5. In addition to the support for ES6, TypeScript 1.5 also adds support for the experimental ES7 decorator proposal, UMD and System.js module outputs, and a new lightweight, portable project file called ‘tsconfig.json’.
Scripts & Styles Tooling support for AngularJS. Now, when you are writing apps using AngularJS, IntelliSense provides suggestions for Angular controllers, services, factories, directives, and animations. New JavaScript language features (from the ES6 version of JavaScript) are supported, including classes, arrow functions, and template strings. Navbar shared project support. You can now use the navigation bar in the Shared project for Windows Universal App projects. New navigation bar. The new navigation bar makes it easier to navigate between major elements in JavaScript source code. JSDoccomments. Documentation comments written in the JSDoc format are now shown when using IntelliSense. (For more information about JSDoc comments, see http://usejsdoc.org.) Object literal IntelliSense. The JavaScript editor provides you with IntelliSense suggestions when passing an object literal to functions documented using JSDoc. Expand/collapse. You can expand and collapse more sections of your JavaScript code, including multi-line comments, multi-line arrays, and all multi-line blocks. Task List support. You can use the Task List feature to review task comments, such as // TODO, in your JavaScript code.
Git Version Control And as of RC, we reworked the Branches page: You can now merge from remote branches, as well as local branches. The branch that you are merging into is now fixed to the branch that is currently checked out. You can now rebase from the current branch onto any local or remote branch. You can checkout a remote branch by double-clicking it, or right-clicking it and then selecting Checkout.
Git Version Control In the graph, merge commits are gray and non-merge commits are a brighter color. You can switch back and forth between the simple view and the detailed view. If the graph is truncated, you can resize it. And in RC, we made several updates to the History graph: We've added a toolbar that allows you to control the level of detail that you see in the graph. We now highlight history lines to indicate which commits are reachable from the currently selected commit. We now show both lines of history if the local and remote branch differ. This is especially useful after rebasing a local branch.
CodeLens In this release, we have replaced the CodeLens "Authors" indicators with the new "Team Activity Timeline" and "Authors and Changes" history indicators. The Team Activity Timeline indicator shows the last author, and when the last change was made. Choosing this indicator opens Team Activity View, where you can look for patterns in changes to the code. This can help you to assess the impact of changes over time. The Authors and Changes indicator shows the number of authors that have changed the file, and the number of changes. Choosing this indicator opens a list of all the changes, details of the changes, and links to get more information and see the previous versions. All the information from the indicators is available when your code is hosted in Team Foundation Version Control (in both Team Foundation Server and Visual Studio Online) and in Git repositories. When you are working in Team Foundation Server or Visual Studio Online, you can also get information about work items.
CodeLens These indicators, together with the indicators available in previous versions, are displayed at the code element (method, field, or class) level for C# and Visual Basic files. These are examples of the Team Activity Timeline indicator for a C# file.
CodeLens This is an example of the Authors and Changes indicator for a C# file. However, the indicators are now also displayed at file level for all other types of files (for example, C++, SQL, JavaScript, and other types of files). The following is an example of the Team Activity Timeline indicator for a file that is not a C# or Visual Basic code file:
Visual C++ In this release, we've added Edit and Continue support for /BigObj, which means that you can now Edit and Continue to edit code while debugging Windows Store C++ projects.
Pull Requests Pull requests hub in Visual Studio Team Explorer now features a new Pull Requests hub where users can see the list of pull requests that they have created, as well as the pull requests that others have assigned to them. We've also improved the Create Pull Request experience; now, users can publish branches and create pull requests in a single action. "Pull request required" work item policy We now have a branch policy that requires associated work items for any pull request. Like the code reviewer and build policies, any code submitted to the branch must be submitted via pull request. When a pull request is created, the associated commits will be inspected for work item links, and if there is at least one link, the policy will be fulfilled. Also, you can now link work items to pull requests directly, and if the pull request is directly linked to at least one work item, the policy will be fulfilled. (If no work items are linked to the pull request or the associated commits, the policy will fail.)
What’s New? Branch history (pushes & pull requests) Web history view for Git projects Quick code editing History control View history on a folder Build automation system Team project rename REST APIs Service hooks Improved merge performance Assign multiple testers Cloud-based load tests Automated testing Change in API behavor Identity control and avatars Taskboard: Bugs on your backlogs and boards Product backlog updates Sprint backlog and task board updates Customize and configure your cards Kanban board updates Turn off the first column on the CFD chart SAFe support for Process Templates Process Templates renamed Current iteration query token Query progressive disclosure Branch policies Branch policies - Gated build Branch policies - Code review
REST APIs This is the first release that brings REST APIs to on-premises TFS. JSON REST APIs enable a lightweight way to work with Team Foundation Server from virtually any device, platform, or technology stack, including Windows, Android, iOS, Node.js, and others. You can create and query work items, queue a build, get recent team room messages, access source code, and accomplish almost any team or code management task.
Service Hooks You can use service hooks to let your app or service get notified instantly when an event happens in Team Foundation Server. With service hooks, your app or service can avoid continuously polling to check for changes, such as completed builds, commits/check-ins, or work item changes. Now you can create powerful integration scenarios where Team Foundation Server can inform another service of a change, thereby enabling the use of both services together. You can find services hooks as a new hub in project administration.
Service Hooks How service hooks work: A service hook subscription controls what action to perform on a target, external service when a specific type of event happens. Similarly to an e-mail alert subscription, a service hook subscription is associated with the user who created it. When an event occurs and a service hook attempts to match a configured subscription to an event, a permission check is performed to ensure the user who created the subscription has permission to access to the resource associated with the event. For example, a user (likely a project administrator) creates a service hook subscription that is triggered on all “work item created” events. When a new work item is created under an area path that this user does not have access to, the permission check will prevent the subscription from matching and therefore avoid any external notification from being sent via this subscription.
Customize and configure your cards by adding fields & tags Not only can you customize how your cards look on your Kanban board, but you now have configuration options for the data showing up on your cards in the Customize Cards dialog box. (A similar customization dialog box is also available for the Taskboard.) You can turn the ID on or off, select how the assigned to field is displayed, and choose to show tags directly on your cards. Also, notice that we've added both "Priority" and "Severity" to the bug cards.
Templates and Iterations Updated Process Template Renamed The name of the templates will change from the verbose names that includes the version name (for example, "MSF for Agile Software Development 2013.4") to simply "Scrum", "Agile" and "CMMI". The templates are now locked, which means that you cannot make changes to the shipped templates. To create a custom process template based on a shipped template, simply export an existing template, give it a new name and version, and then reimport it by using the Process Template Manager. Existing projects are unaffected by this change, which means that they can continue to have their process customized by using witadmin. Current Iteration Query Token This feature gives you the ability to specify a token that represents the current iteration in iteration-based queries. As you know, iterations have dates associated with them. As you move from iteration to iteration, it's very tedious to update all the queries used to track work for the next iteration. This release brings the addition of a new query token, @CurrentIteration, that returns the current iteration based on today's date. There are some limitations with this new token, however. For example, it doesn't work in Excel. The token relies on understanding your team context, and unfortunately Excel doesn't have all the information needed to determine which iteration is current.
Stories and Tasks Updated Show Un-parented Tasks The tasks in the sprint that do not have a parent story will now show up on the sprint backlog and task board, under an "Un-parented" category. The un-parented row is highlighted with a grey-colored bar. You can move tasks from an un-parented row to any user story, and vice versa. (Note: Drag & drop of an un-parented row is not allowed; it will always appear on the top of sprint backlog as well as the task board.) Collapse Completed Stories Completed stories will be collapsed automatically when the task board is opened. All stories on the sprint backlog will be collapsed by default. Stories that are collapsed but have pending work will show a warning on the task board. Collapsed rows on the task board will also show the summary of pending work for that user story. And, PBIs on task board will now appear as cards just as tasks do.
Quick Code Editing In this release, we added the ability to make a quick edit to a file in version control directly from your web browser and then commit those changes straight back to the service. When browsing a source file, you now have an Edit command that puts the file into editing mode. Changes can then be made inline, complete with color coding and formatting support. As soon as you click the Save command, we create a new commit/changeset with your changes. 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. Not only can you edit files, but we also added the ability to add, delete and rename files directly from the web. To add a new file (or files), right-click a folder in your repository, select Add file(s), enter your check-in/commit comment, and you're ready to go. The days are gone when you have to download your entire codebase just to rename or delete a file. Learn more about the quick code editing.
SAFe support for Process Templates We are very excited to provide built-in support for the Scale Agile Framework (SAFe) using our existing Scrum, Agile, and CMMI templates. Support for Epics We have added an Epic work item type and a backlog/board to track Epics. Epics are hierarchically above Features. Features are mapped to Epics, like Backlog items are mapped to Features. Full backlog and board functionality are available. You can manage the Epic backlog like any other backlog as well as customize your Kanban columns and cards to match your needs. (The Epics backlog is not enabled by default. To enable this feature, check the "Epics" checkbox from the Team Settings page.) The Epics backlog can be turned on or off at the team level. As per our whitepaper, Portfolio Teams should enable the Epics backlog. Program and Feature teams can disable the Epics backlog if they don’t manage Epics in your organization.
SAFe support for Process Templates Support for Architectural vs. Business Backlogs We have added a “Value Area” field to all work items that appears on a backlog, that is: Epics, Features, and (depending on your process template), the field also appears on Product Backlog Items, User Stories, and Requirements. The Value area has two values: Business and Architectural. By default value, all Epics, Features, and Stories are Business types. To create an Architectural Epic, Feature, or Story, set the value to Architectural. With this functionality, you can define Architectural Epics, which in turn break down into Architectural Features and Stories, allowing you to track your architectural roadmap across your organization. Learn more about SAFe support for process templates.
SharePoint Extensions In the past, if you wanted your Team Foundation Server integrated with a SharePoint instance that was on a different machine, you could either run the Team Foundation Server installer on the SharePoint server and then configure TFS Extensions for SharePoint or run a special installer (tfs_sharePointExtensions.exe) that put only the bits necessary for configuring TFS Extensions for SharePoint. We have removed this special installer, so to integrate your Team Foundation Server with SharePoint, you must run the Team Foundation Server installer on the SharePoint server and then configure TFS Extensions for SharePoint.
Cross-Platform and Testers • Cross-Platform Builds • Assign Multiple Testers
Dashboards Dashboards are now available in Team Foundation Server Update 1. Dashboards provide visibility to your team and stakeholders on progress of work, code, tests, and builds. We've added the following: 100% customizable dashboards. The existing project home pages are now a completely customizable experience, giving you full control of all the data on your screen. As a team admin, you can rearrange, remove, or add the widgets that you want and use. A new widget catalog is accessible to team admins through the large green plus (+) button at the lower right side of the dashboard. Create multiple dashboards. Until now, the Team Overview page was the only page that teams could use to pin widgets. Now, as a team admin, you can create multiple dashboards using the plus (+) button next to an existing dashboard or through the dashboard manager. The dashboard manager is accessible through the settings icon on the dashboard. New dashboard widgets. All the pieces of data that used to be available on the previous Team Overview page are now available through the widget catalog. You can still add multiple charts to the dashboard through the Work, Test, and Build hubs. In addition, we’ve brought new widgets into the catalog: a conditional query tile (that allows you to set red or green if the number of work items crosses a threshold); a code tile (recent commits in the last 7 days); a query results widget (allows you to see all work items from a query); and a markdown widget (enables custom text, images, and links).
Users and Capacity Add/Remove Users From Capacity Two new buttons on the toolbar let you add any member to your sprint plan (including those outside your team), as well as add any missing team member. Multiple Activities Per Team Member When planning capacity for a sprint, you can now assign multiple activities to a single team member. Just hover over or click on a row, then click the ellipses (…) to add a new activity. If a team member does both development and testing, you can fine tune the capacity to match your team’s skill sets. Line on the Burndown Indicates Actual Capacity The burndown chart now has a line that shows available capacity during a sprint, in addition to the existing ideal trend line. Now you'll have a better idea of whether you're on track to finish all your work during the sprint. This line is built on the capacity data, including individual and team days off.
Compare MSDN Subscription Levels 1 One-time 12 month benefit