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

Another Update to Visual Studio 2017 Release Candidate

$
0
0

Thank you for taking time to try out Visual Studio 2017 RC and sharing all your feedback. Today we have another update to Visual Studio 2017 Release Candidate which mostly contains bug fixes. Take a look at the Visual Studio 2017 Release Notes and Known Issues for the full list of what’s changed with this update.

Please try this latest update and share your feedback. For problems, let us know via the Report a Problem option in the upper right corner of the VS title bar. Track your feedback on the developer community portal. For suggestions, let us know through UserVoice.

John Montgomery, Director of Program Management for Visual Studio

@JohnMont is responsible for product design and customer success for all of Visual Studio, C++, C#, VB, .NET and JavaScript. John has been at Microsoft for 18 years working in developer technologies.


Join Us: Visual Studio 2017 Launch Event and 20th Anniversary

$
0
0

Twenty-five years ago, I started my first day at Microsoft as a developer on the Access team, and then as a developer on a newly created product – Visual InterDev. I remember how the emphasis was on the Visual part of our various product offerings, we have come a long way to the Visual Studio we have now.

Today, I’m proud and humbled that Visual Studio is turning twenty – we’re celebrating two decades of Visual Studio! As we hit this great milestone, I’m also excited to announce that Visual Studio 2017 will be released on March 7.

As part of the team that created the first version of Visual Studio, it was an ambitious goal to bring together everything developers needed to build applications for the client, the server, and the web. Twenty years ago, on January 28, 1997, we announced that we were going to launch Visual Studio 97 – a single product that would bring together best-of-breed productivity tools for any developer. This was no trivial undertaking. It was a challenging task to bring Visual Basic, Visual C++, Visual J++, Visual FoxPro, and Visual InterDev into one single product. The team delivered, kicking off decades of incredible productivity for millions of developers worldwide.

Over the years, Visual Studio grew from an IDE to a suite of products and services, including Visual Studio Team Services, Visual Studio Code, and many others. The family of Visual Studio products extends across platforms, enabling developers to build mobile-first, cloud-first apps that span Android, iOS, Linux, MacOS, and Windows. It also offers industry-leading DevOps practices across all types of projects, as well as tight integration with the Azure cloud.

On March 7, we are proud to bring you our newest release, Visual Studio 2017, with a livestreamed two-day launch event at https://launch.visualstudio.com. Brian Harry, Miguel de Icaza, and Scott Hanselman will join me on stage to share the latest innovations from Visual Studio, .NET, Xamarin, Azure, and more. You will have the opportunity to engage in demo packed sessions focusing on key improvements within the product. To help you get started, on March 8, we will also bring you a full-day of live training with multiple topics to choose from. Save the date.

Whether you’re new to Visual Studio or have been with us on this journey, we want to hear and share your story. Grab your phone and take a short video to tell us a little about your Visual Studio journey:

  • How long have you been using Visual Studio?
  • What is the coolest software you’ve built?
  • What do you like about Visual Studio?
  • How about birthday wishes? How would you say, “Happy Birthday, Visual Studio” in your native language?

Check out this example from Sara Ford:

What memorabilia have you collected over the years? Is it a sticker, t-shirt, mug, poster, button, or something else? Share a photo or a short video clip on Instagram or post your story on Twitter and Facebook Video or YouTube using the hashtag #MyVSstory.

I look forward to hearing your stories!

Julia Liuson, Corporate Vice President, Visual Studio

Julia is responsible for developer tools and services, including the programming languages and runtimes designed for a broad base of software developers and development teams as well as for Visual Studio, Visual Studio Code, and the .NET Framework lines of products and services. Julia joined Microsoft in 1992, and has held a variety of technical and management positions while at Microsoft, including the General Manager for Visual Studio Business Applications, the General Manager for Server and Tools in Shanghai, and the development manager for Visual Basic.

How do industry leaders set their mobile apps apart?

$
0
0

The past few years, innovation and increasingly savvy users have dramatically raised the bar for app quality. Industry leaders have taken notice, and they’re capitalizing on three core trends to stay ahead of their users—and their competition: (1) transitioning from basic apps to amazing mobile experiences; (2) evolving from simple, data-aware functions to intelligent, data-driven apps that learn and improve; and (3) shifting from building one-off apps to creating a mobile portfolio. Discover how you can apply these same ideas to transform your mobile experiences and grow your business.

Want more insights into the strategies discussed in this post? Read the e-book, Out-mobile the competition: Learn how to set your apps apart with mobile DevOps and the cloud.

Shift 1: From good apps to amazing experiences

Keep users coming back

Standard, functional apps are no longer enough. Today’s mobile users, whether they’re customers or employees, want more than well-designed user interfaces, geolocation, and other ‘standard’ app functionality. They demand fully native mobile apps, with fast, relevant, and personalized features that work well on their device of choice.

Bloomin’ Brands, Inc., uses mobile to redefine the casual dining experience, build customer loyalty, and ensure repeat visitors. For its Outback Steakhouse brand, the Outback Steakhouse app enables customers to quickly and easily locate and reserve tables at nearby locations, automatically check in with hosts, get seated, pay for meals, and redeem vouchers.

See how users love the five-star apps from Outback Steakhouse:

Treat every user like a consumer

There’s no longer a distinction between “enterprise” and “consumer” apps. Employees expect the same seamless and convenient experiences from their workplace apps that they get from their personal apps. If IT fails to deliver, employees quickly abandon apps—and organizations are left with wasted effort and investments.

Alaska Airlines sets the standard for treating its team members just like customers, with a portfolio of employee-facing apps that mirror Alaska’s consumer user experience. Its internal Hopper app, for example, lets employees access their travel benefits from anywhere, automatically check in, view flight status, and receive mobile boarding passes.

See how Alaska brings the consumer experience to employees:

Shift 2: From data-aware apps to data-driven intelligence

Turn data into insights

Five-star apps do more than merely allow users to enter and edit data—they’re driven by data intelligence. They locate users, track how users are interacting with their apps, understand what customers are purchasing, and much more. This information helps companies recognize trends, increase customer loyalty or employee satisfaction, and make informed business decisions.

Nuvem Tecnologia combines mobile and the cloud to connect big data capabilities with rural farmers everywhere. Nuvem Tecnologia’s AgroSIG app modernizes complex agricultural processes for farmers throughout Brazil, centralizing farm data and eliminating error-prone paper reporting. From analyzing historical data to identifying pest problems with GPS and device photo capture, the AgroSIG app equips farmers with the information they need to make real-time decisions and improve their harvests.

See how Nuvem drives agricultural processes with data:

Shift 3: From individual apps to a multi-app portfolio

Create an innovation hub

The third major shift isn’t about the mobile app experience itself, but about the way your business creates and updates apps. You need to think about your mobile strategy as a core component of your business strategy, starting by moving from monolithic apps to an entire portfolio of role- or function-specific apps.

Industry leaders have repeatable, automated processes, giving them the fast feedback and release cycles they need to deliver new projects and continuously improve existing apps.

Dutch Railways embodies this trend of reimagining mobile experiences and shifting from weighty, monolithic apps that “do everything” to single-purpose, lightweight apps. Instead of simply rebuilding the existing Rail Pocket—Dutch Railways’ clunky, legacy communication system—for new devices, the development team created eight function-specific apps, including time sheets, train timetables, maintenance logs, and more. Now, Dutch Railways can quickly and easily improve apps and add new functionality.

See how Dutch Railways creates fast, data-rich apps for more than 7,000 staff members:

Bottom line

In a mobile-first world, user expectations and business demands are constantly evolving. Successful industry leaders embrace and make these changes work for their businesses. Discover how you can stay competitive and deliver the new mobile experience with the e-book, Out-mobile the competition: Learn how to set your apps apart with mobile DevOps and the cloud.

Cormac Foster, Senior Product Marketing Manager

Cormac is responsible for mobile Product Marketing. He came to Microsoft from Xamarin, where he was responsible for Analyst Relations and thought leadership. Prior to Xamarin, Cormac held a variety of roles in software testing, research, and marketing.

Announcing Azure Stack TP3 And Why You Should Care About It

$
0
0

Today we’re announcing the availability of Azure Stack Technical Preview 3. Azure Stack is the vessel we’re using to bring Azure technologies in a way designed to run on-premises. Azure Stack is aimed at rounding out a cloud strategy by providing additional choice and flexibility when using Azure.

You can easily factor Azure Stack into your plans when building applications. The tools you use, and DevOps processes you follow in Azure can be transferred to Azure Stack. You can use Azure Stack to help you solve the requirements applications may face around issues of regulation, data latency, data sensitivity, or customization. Think of Azure Stack as an extension of Azure, that enables organizations to run a true hybrid cloud, with some parts running behind the firewall, and some potentially running in Azure.

The reason we’re posting on the Visual Studio blog is that Visual Studio, Visual Studio Team Services and Team Foundation Server all include support for Azure Stack. There’s a unified deployment experience with across Azure and Azure Stack and you can set up a hybrid CI/CD pipeline wherever you need to run your app. Our goal is to help you invest in your skills, processes, and applications in a way that is transferable to any Azure cloud without too much complexity.

If you’re interested in learning more about Azure Stack, take a look at our Azure Stack page.

Take a look at the TP3 announcements, play with the product and give us your feedback on what you see.

Andrew Zeller, Senior Product Marketing Manager, Azure Stack

Andrew started working at Microsoft with the Windows Server and System Center products. For the last few years, he has been working on bringing cloud to datacenters.

Xamarin University Presents: Getting Started with Xamarin for Visual Studio

$
0
0

Our mobile devices and wearables shape how we communicate and find information. Luckily, Visual Studio – including the latest version, Visual Studio 2017, launching on March 7 – gives you all the tools you need to start building apps for the ever-growing connected device ecosystem. Whether you’re building for enterprise users or everyday consumers, Visual Studio’s built-in Xamarin mobile support allows you to bring your .NET skills and knowledge from the desktop, web, and Windows world to new platforms, including popular mobile devices and wearables.

Jumpstart your mobile development skills with Xamarin University’s free five-part webinar series, airing every Thursday in March. Xamarin University’s industry-leading mobile development curriculum includes 80+ courses from beginner to advanced, developed and delivered by industry experts for developers just like you. With this popular webinar series, you’ll get the step-by-step training you need to start building amazing mobile apps.

Register for the free “Xamarin University Presents” webinar series

Beginning on March 2nd, join us for one or all sessions and bring your questions. Xamarin University instructors and experts will be on hand for live Q & A.

  • Thursday, March 2nd, 9am PT: Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows apps in C# – Xamarin University Guest Lecturer James Montemagno will show you how to create, debug, test and deploy apps for iOS, Android and Windows while maximizing the shared code between all platforms.
  • Thursday, March 9th, 9 am PT: Building your First Xamarin.Forms App – Adrian Stevens, Xamarin University curriculum manager, will walk you through building your first Xamarin.Forms application, including using a common set of controls to define a fully native UI for Android, iOS, and Windows.
  • Thursday, March 16th, 9am PT: Building Your First Android App – Xamarin University professor Judy McNeil will show you how to design native Android UIs with the Android Designer, add behavior, and deploy apps to Android emulators and devices – straight from Visual Studio.
  • Thursday, March 23rd, 9 am PT: Building Your First iOS App – Chris van Wyk, another expert Xamarin University professor, will dive into a typical Xamarin.iOS project, explore the MVC architecture, create screens with the Visual Studio iOS Designer, and test Xamarin.iOS apps on a simulator and real devices.
  • Thursday, March 30th, 9 am PT: Connected Mobile Apps with Microsoft Azure
    James Montemagno will teach you how to integrate various Azure App services into your Xamarin apps, including: cloud data storage, offline sync, push notifications, user authentication, and data and intelligence.

Sign up today.

We’re looking forward to seeing you soon and helping you build apps users love – now and in the future.

For even more hands-on guidance, don’t miss the Visual Studio 2017 launch event March 7-8 for keynotes, demos, and a full day of virtual training from Xamarin University!

Mark Smith, Principal Program Manager

Mark leads Xamarin University, where he helps developers learn how to utilize their .NET skills to build amazing mobile apps for Android, iOS, Windows and beyond. Prior to his career at Microsoft and Xamarin (acquired by Microsoft), Mark ran a consulting business, specializing in custom development

Avoid these six mobile development pitfalls

$
0
0

In our previous post in this series, we talked about the three shifts you need to make to set your mobile apps apart. As you implement your winning strategy, plan to tackle the six common challenges discussed below, ranging from meeting demand to post-release improvement.

Discover how industry leaders tackle these issues in the e-book, Out-mobile the competition: Learn how to set your apps apart with mobile DevOps and the cloud.

Challenge #1: Mounting demand for apps

In response to the mobile explosion, enterprises have recognized the need to deliver exceptional mobile experiences to their business stakeholders, customers, and employees. International Data Corporation (IDC) predicts that, by 2018, the number of enterprise mobile apps will double and spending on mobility will reach 50% of enterprise IT budgets.1

How will your organization meet your users’ growing demand for mobile apps when it exceeds your teams’ ability to deliver?

Begin by examining your existing resources and internal processes—from team structure to technology investments—to determine if your current infrastructure allows you to quickly build and continuously deliver many high-quality apps for various device types, scenarios, and audiences.

Challenge #2: Talent shortage

Per a 2014 Forrester survey, 50% of organizations had fewer than five developers in-house, barely enough to field a single mobile team.2 Fast forward to 2017: Do you have enough developers to cover your needs, including building, testing, and maintaining mobile apps, for each of the major platforms—or do you require additional talent? Do those developers need to be trained on new languages, tools, or platforms?

Challenge #3: Device fragmentation

Since you can’t predict your users’ preferred devices, your apps need to work well on as many form factors, operating systems, and hardware configurations as possible. While managing multiple operating system updates and device fragmentation can be costly—the number of different Android devices alone more than doubled between 2013 and 20153—it’s necessary to ensure the seamless experiences your users expect.

Challenge #4: Adequate testing and QA

Mobile quality is critical to adoption and engagement but adds another layer of complexity to the release cycle. Manual testing is not a long-term solution: it is expensive, labor intensive, can’t scale with rapid release cycles, and usually involves only a small number of available devices. Expanding device coverage using simulators may appear to lower expenses, but this provides a false sense of security, since simulators cannot faithfully reproduce real-world hardware operating conditions.

Automated UI testing and beta distribution are critical to releasing apps that meet—and exceed—users’ expectations. Teams rapidly validate that apps work as expected, identify and prioritize issues, and distribute to internal and external testers for feedback and suggestions. Development teams can catch issues early in the release process and avoid adding new features on top of faulty code, while QA teams can focus on triaging and quickly fixing issues.

Challenge #5: Innovation with security

Five-star app experiences are more than just a pretty UX. Successful apps must provide standout utilities—examples include proactive recommendations or personalized notifications based on user need, activity, or environment—while ensuring secure, reliable access to the same local or cloud-based files, services, and systems of record as traditional apps. On top of that, your users expect mobile apps to include unique capabilities like contextual push notifications and offline data sync. And all this infrastructure must be able to scale to millions of users as your app takes off.

Cloud and hybrid cloud technologies allow organizations to securely connect their systems while also giving users the on-the-go access they need to be productive. Use of cloud platforms also enable updates at scale, with offline access and push capabilities, plus critical security services like permissions management and user authentication.

Challenge #6: The “after launch”

Many teams focus on getting apps out the door but fail to account for post-launch maintenance and analysis. This mistake robs developers of a continuous feedback loop that is essential to maintaining quality. Abandoning apps (by not updating them) is essentially a waste of current investments.

Teams that capture post-release analytics better understand where their future efforts can make the most impact. By monitoring apps in the wild, your organization can understand the complete range of critical services your users expect, and you can properly identify and prioritize new features and bug fixes based on hard data and real user feedback, thereby continuously delivering value to your users and your business.

Overcome these challenges with mobile DevOps and the cloud

With Microsoft’s mobile DevOps technology and cloud platform, you can not only avoid these common pitfalls, but continuously deliver apps that users love, and drive your business forward. Mobile DevOps automates every stage of the mobile lifecycle, from planning to continuous improvement, with secure connections to cloud services which enable you to quickly deliver the capabilities your users demand and scale for any scenario.

See how Microsoft can help you make mobile your competitive advantage: Out-mobile the competition: Learn how to set your apps apart with mobile DevOps and the cloud.

Cormac Foster, Senior Product Marketing Manager

Cormac is responsible for mobile Product Marketing. He came to Microsoft from Xamarin, where he was responsible for Analyst Relations and thought leadership. Prior to Xamarin, Cormac held a variety of roles in software testing, research, and marketing.

References

1. IDC, “IDC FutureScape: Worldwide Mobility 2017 Predictions,” November 2016, http://www.idc.com/getdoc.jsp?containerId=US41334316

2. Forrester Report, “The State of Mobile App Development: Few eBusiness Teams Keep Pace With Customer App Expectations,” March 23, 2015, https://www.forrester.com/report/The+State+Of+Mobile+App+Development/-/E-RES120267

3. OpenSignal “Android Fragmentation Visualized” report, August 2015, https://opensignal.com/reports/2015/08/android-fragmentation/

Productivity Power Tools for Visual Studio 2017

$
0
0

As we are getting set up to launch Visual Studio 2017 tomorrow, we wanted to let you know that we have released the Productivity Power Tools for Visual Studio 2017. So, you’ll be able to hit the ground running with all your favorite productivity features.

The Productivity Power Tools is a collection of extensions that improve the developer experience with Visual Studio IDE. Though not officially supported, they provide a great way to try out new features that we’re experimenting with. You can read more about the origins of Productivity Power Tools.

What’s New?

One of the key goals of this release was to break each of the Productivity Power Tools features into separate extensions. The main benefit of this is that it gives you more flexibility over how you acquire and manage the tools, as you can now hand-pick and install just the components that you want to use. Also, it means that each of the extensions can be updated and delivered at its own pace. Plus, it gives us the ability to monitor the popularity of each extension. Features that prove most popular will be considered for inclusion in future versions of Visual Studio.

The following is a list of features released as individual extensions for Visual Studio 2017:

  1. Align Assignments: Adds a command to Visual Studio to align assignments. By default, this is bound to Ctrl+Alt+]
  2. Copy as HTML: Adds support to copy the selected editor text to clipboard in HTML format
  3. Ctrl+Click Go To Definition: Make Ctrl+Click perform a “Go To Definition” on the identifier under the cursor
  4. Custom Document Well: Provides configurable behavior for the document well in Visual Studio
  5. Double-Click Maximize: Double-click window headers to maximize and dock them
  6. Editor Guidelines: Adds vertical column guides to the editor
  7. Fix Mixed Tabs: Detects when you have mixed tabs and spaces and offers to fix them for you automatically
  8. Match Margin: Draws markers in the scroll bar and highlights text in the editor for matches of the word under the caret
  9. Middle-Click Scroll: Enables scrolling in the editor pane using the middle-click mouse button
  10. Peek Help: Adds a command to Visual Studio to show F1 Help inline in the editor. By default, the command is bound to Alt+F1.\
  11. Power Commands for Visual Studio: A set of useful extensions for the Visual Studio IDE, including Remove and Sort Usings, Copy Path and Open Command Prompt
  12. Quick Launch Tasks: Adds accessibility and settings tasks to the Quick Launch tool
  13. Shrink Empty Lines: Shrinks lines that contain neither text nor numbers so that more lines can be displayed in the editor
  14. Solution Error Visualizer: Highlights errors and warnings in the Solution Explorer. Also allows Solution Explorer to be filtered by error type
  15. Time Stamp Margin: Adds a time stamp margin to the debug output window.

You can download and install the extensions from the Visual Studio Marketplace, or from the Extensions and Updates dialog inside the IDE.

If you want to install all the extensions in one go, check out the Productivity Power Tools 2017 Installer. Inspired by Mad Kristensen’s approach to Web Extensions, this is a bundle installer that will install the full suite of Productivity Power Tools for Visual Studio 2017.

How it works: Every time Visual Studio launches, this extension runs in the background and checks to see if any of the Productivity Power Tools are not installed. If any are missing, it presents a dialog box showing progress as it automatically downloads and installs them all.

If there are extensions installed by the pack that you don’t want to use, you can disable or uninstall them individually from Tools->Extensions and Updates.

What’s Missing?

If you’re looking for Structure Visualizer, you won’t find it in Productivity Power Tools 2017. Parts of Structure Visualizer proved so popular that they have been implemented in the product. Visual Studio 2017 now has a new feature called Structure Guidelines that is enabled by default for several languages. With this feature, vertical lines appear in the editor that line up with structured code blocks. Hovering on any of these lines will trigger a tooltip to pop up that shows all the ancestor blocks for that line.

You can enable and disable this feature in Tools->Options. Look for “Show structure guide lines” under Display in the Text Editor options page.

What’s Changed?

The Custom Document Well has been updated to expose all the commands for navigating directly to an open document by its position in the document well. By default, the commands for Window.GoToPinnedTab[X] and Window.GoToUnpinnedTab[X] are mapped to Ctrl+[Numpad X] and Ctrl+Alt+[Numpad X] respectively. Now that these commands are exposed, you can remap them to any other shortcuts you prefer (via Tools->Options, Keyboard).

Tip: If you are working with a laptop that doesn’t have the Numpad, you might want to map the Window.GoToUnpinnedTab[X] commands to Ctrl+1..0. (These are the same shortcuts used by most web browsers for navigating directly to tabs by their position.)
Just beware: re-mapping Ctrl+1 will remove the default Visual Studio 2017 shortcuts for Go To File/Type/Member/Symbol, and re-mapping Ctrl+0 will remove many of the Team Explorer shortcuts, so you might want to remap those while you’re at it.

Support / Contributions

We hope that you enjoy using the Productivity Power Tools in Visual Studio 2017. Much of the code is open-sourced and we welcome contributions. As an example, we recently received a bug fix for Ctrl+Click Go To Definition (thanks to Francesco Buldo), which was accepted and released the same day.

If you have any suggestions or need support, please let us know by opening issues on the Productivity Power Tools GitHub repo.

Justin Clareburt, Senior Program Manager, Visual Studio

Justin Clareburt is a Program Manager on the Visual Studio team, currently working in the Visual Studio extensibility space. He has over 20 years of Software Engineering experience having previously worked for several large organizations including Amazon, NewsCorp, Symantec, and the Australian Government. He brings to the team his expert knowledge of IDEs and a passion for creating the ultimate development experience.

Announcing Visual Studio 2017 General Availability… and more

$
0
0

Now is an exciting time to work with developer tools. With a 25% increase in monthly active users of Visual Studio, 1.3 million active monthly users of Visual Studio Code, and a two-fold increase in active users of our Mac IDEs, I think our customers are excited too.

Since we released the Visual Studio 2017 Release Candidate, we’ve had nearly 700,000 downloads! We’ve been busy taking customer feedback and enhancing the user experience to deliver the most powerful and productive version of Visual Studio yet. We’ve also been fine-tuning the Visual studio family of tools. In November, we introduced previews of Visual Studio for Mac and Visual Studio Mobile Center and made Visual Studio Team Foundation Server 2017 generally available.

Now, the day that we have been working toward is here. I am excited to share that Visual Studio 2017 is generally available today. I encourage all of you to download Visual Studio 2017 today! We are also delivering updates across the Visual Studio product family, and adding new value for Visual Studio subscribers and Visual Studio Dev Essentials members.

Visual Studio 2017: The Most Productive Version Yet

With Visual Studio 2017, we’ve invested in several key areas – refining the fundamentals

Cloud and mobile development were top of mind as we built Visual Studio 2017. For streamlined cloud development, built-in tools provide integration with all your .NET Core, Azure applications, microservices, Docker containers, and more. It is easier than ever to build and deploy applications and services to Azure, directly from the IDE. Visual Studio 2017 with Xamarin make it faster for you to create mobile apps for Android, iOS, and Windows through updates like advanced debugging and profiling tools.

We also heard loud and clear that Visual Studio needs to be faster and leaner, even as applications and projects get larger. So we built a brand-new installation experience that is lightweight and modular. We also made multiple enhancements to improve Visual Studio performance across the board. Visual Studio 2017 also has new features that allow development teams to easily adopt modern DevOps practices and collaborate to react to market changes faster and continuously. To extend developers’ ability to incorporate their databases into DevOps, accelerating release cycles, Redgate Data Tools are now included in Visual Studio Enterprise 2017.

I hope that you’ll download Visual Studio 2017, try it out, and let us know what you think. You can also learn more on John Montgomery’s post covering all that’s new in Visual Studio 2017.

Updates to Visual Studio for Mac, Visual Studio Team Foundation Server and Visual Studio Mobile Center

With 5 million Visual Studio Team Services registered users and a two-fold increase in downloads of our Mac IDEs over the past six months, we are seeing customers realize the potential of the full Visual Studio family. Today, we’re bringing the next wave of updates with Team Foundation Server 2017 Update 1, Visual Studio for Mac Preview 4, and updates to the Visual Studio Mobile Center Preview.

  • Visual Studio for Mac Preview 4. Visual Studio for Mac is our IDE, made for Mac to build mobile, cloud, and macOS Since the introduction at Connect(); mid-November, the team has been busy and added updated .NET Core project support, NuGet and mobile tooling improvements, and implemented many bug fixes and performance optimizations. You can read more about Visual Studio for Mac in Miguel’s blog post where you can give it a try! Please continue to share feedback as we shape the product.
  • Visual Studio Team Foundation Server 2017 Update 1 available. Today, we are releasing Team Foundation Server 2017 Update 1, the collaboration platform for every developer. Team Foundation Server 2017 Update 1 adds value to on-premises customers, including a new process template managing experience, npm support in package management, additional repository permission management, pull request improvements, test impact analysis, branch policy improvements, and a personalized home . For more information on what’s new in Team Foundation Server 2017, check out Brian Harry’s blog.
  • Visual Studio Mobile Center preview updates. Mobile Center now has expanded support for mobile apps beyond Swift, ObjectiveC, and Java, to include support for mobile apps built with Xamarin and React Native as well as enhanced analytics. You can try the Visual Studio Mobile Center Preview today for free by going here.

New value for Visual Studio Enterprise subscribers and Visual Studio Dev Essentials members

With the release of Visual Studio 2017, we are bringing all-new benefits for Visual Studio Enterprise subscribers and Dev Essentials members. The Enterprise DevOps Accelerator offer brings organization everything they need to implement DevOps at scale and modernize their toolchain, including Visual Studio Enterprise, continuous deployment services with continuous integration (CI) and cloud-based load testing, beta distribution through HockeyApp, a discount on Azure compute resources, and on-site expert DevOps coaching.  Find more information here. Further, Visual Studio subscribers and Dev Essentials members can log in to their respective portals for additional training and support offers from Microsoft and our partners.

We hope that you’re as excited about Visual Studio 2017 as we are. Make sure to download today keep the feedback coming.

julia-liuson-2 Julia Liuson, Corporate Vice President, Visual Studio

Julia is responsible for developer tools and services, including the programming languages and runtimes designed for a broad base of software developers and development teams as well as for Visual Studio, Visual Studio Code, and the .NET Framework lines of products and services. Julia joined Microsoft in 1992, and has held a variety of technical and management positions while at Microsoft, including the General Manager for Visual Studio Business Applications, the General Manager for Server and Tools in Shanghai, and the development manager for Visual Basic.


Visual Studio 2017: Productivity, Performance, and Partners

$
0
0

Today we released Visual Studio 2017. Start your download and read on to learn more about some of the highlights of this release. For the complete list of changes in the release, check out the Visual Studio 2017 release notes. Some of the things I would like to highlight are:

Fundamentals: Productivity and Performance

Improved startup and improved project load. Multiple enhancements come together to make Visual Studio 2017 start up to 3 times faster than Visual Studio 2015. Solution load times are 2-4 times shorter, and build performance is faster, particularly for C++ projects as Ankit Asthana wrote on the VC++ blog. Check out this post by Dan Taylor on improved overall Visual Studio responsiveness that leads you into a deep dive on these improvements.

Enhanced Navigation. Visual Studio 2017 dramatically improves code navigation, from “Go to All” to Find All References to Indent Guides. For example, Find All References used to display its search results as a flat list in the Results Window. Visual Studio 2017 colorizes the results and provides custom grouping, sorting, filtering, and searching to help you rapidly home in on the specific reference you were looking for. But most powerful is Go to All (ctrl+T or ctrl+,), which has undergone a complete transformation. Go to All is a fast, complete search for any file, type, member or symbol declaration in a solution. Icons at the bottom of the search bar allow you to filter your results by group or adjust the scope of the search. You can also customize settings like placement of the search bar, a live preview of the files containing the highlighted result, and additional file information for each result, by clicking the gear icon in the bottom-right corner.

go-to-all

Keyboard Shortcuts for GoTo

Go To All Go To Line Go To File Go To Type Go To Member Go To Symbol
Shortcut Ctrl+T or Ctrl+, Ctrl+G Ctrl+1, F Ctrl+1, T Ctrl+1, M Ctrl+1, S
Query Prefix No prefix : f t m #


Load files without needing a solution.
One request we heard from customers was to be able to edit files without needing to open a project or solution. We listened and are happy to bring you a solution (wordplay mildly intended): in Visual Studio 2017, you can open and work on any file for a long list of languages from C# to C++ to Ruby to Go. For a full list of all capabilities available to you read this blog post on open any folder in Visual Studio.

load-files

IntelliSense filtering. IntelliSense now provides filters to quickly narrow down that member you’ve been looking for. Filtering helps you get to what you need without having to wade through many, many types to get to it.

intellisense

Language improvements: refactorings, style analyzers, and more. There’s more here than we can easily fit into a short paragraph. We’ve added new C# language refactoring commands that help you modernize your code to the latest standard. New style analyzers and support for EditorConfig let you harmonize coding standards across your team. You can edit XAML while your WPF or UWP application is running and see changes in real-time. The C++ compiler and standard library are updated to enhance support for C++11 and C++14 features. Lastly, a new language service for TypeScript and JavaScript, provides support for the latest standard JavaScript features and provides rich type inference across both languages.

CMake support for C++. Support for CMake is now available in Visual Studio 2017. You can start coding by directly loading your CMake projects in Visual Studio. It is easy to switch between configurations provided by CMake and further configuration is also supported via CMakeSettings.json file that sits in the same folder as CMakeLists.txt file. For an overview of CMake support see the Visual C++ Team blog or watch this 10-minute CMake Video.

Linux support for C++. Visual C++ for Linux Development is a popular extension which is now part of Visual Studio 2017. To learn more about Linux development with C++, see the Visual C++ Team blog or watch this video.

Live unit testing. Live unit testing, as the name suggests, tells you in real time if your unit tests will pass or fail because of the edits you just made to your code, without leaving the code editor. Check out this blog post to learn more about live unit testing in Visual Studio 2017.

live-unit-testing

Run to Click. Most of us use temporary breakpoints. Run to Click is much slicker. Now while you’re stopped at a break state under the debugger, when you hover your mouse over a line of code you’ll see the Run to Click glyph. Click on the glyph and execution continues to and halts on that line.

run-to-click

Exception Helpers. We’ve added exception helpers, so you can immediately see the root cause of an exception with instant access to inner exceptions in a compact, non-modal dialog. Additionally, you can now exclude breaking on exception types thrown from specific modules by clicking the checkbox to add a condition while stopped at the thrown exception.

exception

Small and lightweight installation. We made it easier to get up and running with Visual Studio 2017 with our new installer. The smallest installation is just one-tenth of the size of the previous version, and it installs in just a minute or two. We make it easy for you to install just the frameworks and tools you need to get up and running quickly.

5-Star Mobile Applications

Xamarin Forms Previewer. One of the most time-consuming parts of development is the build and run cycle – the time between writing a line of code and seeing it execute. Real-time feedback makes development faster, easier, and more fun for developers. The Xamarin Forms Previewer renders a live preview of a page side-by-side with the XAML markup, allowing you to see your user interface come to life in Visual Studio as you type.

Improved Xamarin Forms XAML IntelliSense. When you open any XAML document for Xamarin Forms in Visual Studio 2017, you will now greatly improved IntelliSense. The new IntelliSense supports bindings, custom properties, custom controls, converters, and much more.

Connected Services. The new Connected Services experience in Visual Studio 2017 makes it much easier to connect your mobile application to cloud services such as Azure Mobile Apps data storage and authentication . Adding a service to your project will add all required dependencies and any required initialization code to your mobile targets.

The first Connected Service we are providing for mobile developers enables you to connect your app to an Azure App Service backend, providing easy access to authentication, push notifications, and data storage with online/offline sync. This feature also allows you to create a new App Service directly from Visual Studio and have it provisioned without having to visit the Azure Portal.

Cloud Development

.NET Core. Visual Studio 2017 now supports building .NET Core 1.0 and 1.1 applications. .NET Core, which includes ASP.NET Core and Entity Framework Core, is Microsoft’s open source framework for building cloud and server applications and microservices for Windows, macOS, and Linux. It is fast and lightweight: on the Tech Empower web benchmark ASP.NET Core scores in the top 10 fastest web frameworks ahead of Java servlets, Node, Ruby, and PHP.

dotnet-core

Simplified container support. Container development automates the repetitive tasks of setting up and configuring development environments. No longer do developers have to install complex software on their machines in order to duplicate their production machines, instead relying on a simple file that pulls in dependencies as a packaged container. Visual Studio 2017 supports building containerized applications on both Windows and Linux. .NET Core and .NET applications can be containerized during creation or after creation with a simple right-click gesture and can be run and debugged inside the container during local development.

container-support

Azure App Service support. Azure App Service provides hosting on ASP.NET and ASP.NET Core and Visual Studio has great support for publishing and debugging applications on App Service. Visual Studio 2017 now expands that support to hosting .NET Core containerized applications in App Service. .NET and Visual Studio 2017 make container development easy.

azure-app-service

For additional details check out the latest posts on .NET Blog.

DevOps

Visual Studio 2017 improves many aspects of working in DevOps environments, from improvements to version control to improvements to the Developer Analytics tools to a preview of the ability to configure a CI/CD pipeline directly from within Visual Studio. Of particular interest are some of the improvements in Visual Studio’s Git support. We’ve added new Git features to Visual Studio that allow you to do more of your end-to-end workflow without leaving the IDE. You can easily view the diff for outgoing commits, perform a force push to complete a rebase or push an amended commit, remove your upstream branch, and continue patch rebase from Visual Studio. Additionally, because we moved to git.exe–which allows us to provide the most up-to-date features–we support SSH, respect your config options, and show in Team Explorer exactly what you see in the command line.

Most interestingly Visual Studio also includes tools not just to perform DevOps on your source code, but on your database configuration as well, thanks to the inclusion of the Redgate Data Tools. To extend Visual Studio 2017 DevOps capabilities to SQL Server database, install the Data Storage and Processing workload and you’ll get:

  • Redgate SQL Search. Redgate SQl Search is included with all editions of Visual Studio 2017, increases your productivity by helping you quickly find SQL fragments and objects across multiple databases.
  • Redgate ReadyRoll Core. Redgate ReadyRoll Core is included with Visual Studio Enterprise 2017, helps you develop migration scripts, manage database changes using source control, and safely automate deployments of SQL Server database changes alongside applications changes.
  • Redgate SQL Prompt Core. Redgate SQL Prompt Core is included with Visual Studio Enterprise 2017, helps you write, format, and refactor SQL code. You can write SQL more quickly and accurately with the help of intelligent code completion. SQL Prompt autocompletes database and system objects and keywords, and offers column suggestions as you type. This results in cleaner code and fewer errors because you don’t need to remember every column name or alias.

Additionally, your Visual Studio Enterprise subscription comes with six months of access to WhiteSource Bolt for open source vulnerability management and license checking, and to Parasoft for service virtualization. Check out the new subscriber benefits post for more details.

The Visual Studio Ecosystem

Many customers extend Visual Studio with solutions from the Visual Studio Marketplace. With today’s announcement, we have over 100 partners simultaneously shipping their extensions with the release, making over 700 extensions available to use with Visual Studio 2017.

One of the more popular extensions is Microsoft’s Productivity Power Tools. Over the last year, we’ve been reconfiguring the Power Tools to be a discrete set of extensions, and today we’re making many of them available in Visual Studio 2017.

vs-marketplace

 

Also, today we’re making available a preview of the Python Tools. We wanted to ensure that you have access to the Python tooling, as we are finishing up the full localization to enable us to publish them in a future minor update to all interested Visual Studio 2017 users.

Try it out and please give feedback

By now, Visual Studio 2017 may have finished installing for you. If it has, great! I’d like to address two questions we get asked a lot:

  • Can I install Visual Studio 2017 alongside Visual Studio 2015? Yes. Visual Studio 2017 works side by side with these previous versions of Visual Studio: Visual Studio 2012, Visual Studio 2013, and Visual Studio 2015. Visual Studio 2017 can’t run side by side with an RC or preview version of Visual Studio 2017 or Visual Studio “15”.
  • Can I install Visual Studio 2017 on top of a Visual Studio “15” Preview or Visual Studio 2017 RC? If you currently have Visual Studio 2017 RC or Visual Studio “15” Preview installed on your machine, you should see an ‘update’ button in the new installer. Click that and you will be good to go.

If you’re looking for the data science workload that was in Visual Studio 2017 previews and RC, keep an eye out for future updates including R support.

If you have further questions, read the Visual Studio 2017 FAQ for other commonly asked questions. Want to know more about compatibility, check out Visual Studio 2017 compatibility and Visual Studio 2017 system requirements. Also, be sure to read this article to learn about offline installations.

Visual Studio 2017 has a lot of new and improved features for you to try. For the complete list of what is included in this release, along with some known issues, check out the Visual Studio 2017 Release Notes.

As always, we welcome your feedback. For problems, let us know via the Report a Problem option in the upper right corner, either from the installer or the Visual Studio IDE itself. Track your feedback on the developer community portal. For suggestions, let us know through UserVoice.

Finally, check out Visual Studio 2017 Launch Event to see members of the engineering team demo the product, and tune in on March 8 for a full day of live training.

John Montgomery 2013 John Montgomery, Director of Program Management, Visual Studio
@JohnMontJohn is responsible for product design and customer success for all of Visual Studio, C++, C#, VB, JavaScript, and .NET. John has been at Microsoft for 18 years, working in developer technologies the whole time.

Extend your App Success with Visual Studio 2017 Launch Partners

$
0
0

Since the release of Visual Studio 2015, the ecosystem of technologies around Visual Studio has diversified and grown significantly.  That is why the Visual Studio Partner Program now represents over 6,500 extensions and integrations across Visual Studio, Visual Studio Code, Visual Studio Team Services, and Xamarin.  This vibrant community of partners not only creates tools that help customize and enrich your development experience.

The ecosystem of extensions available for Visual Studio 2017 today is quickly growing and, upon publishing this, we’ve passed 700 extensions!  This number represents twice as many Visual Studio Partners as launched with us for Visual Studio 2015.   We welcome you to peruse a full list of our Partners’ Sim-Ship Extensions and start using their technologies through the Visual Studio Marketplace.

partners

We continue to bring you tools through the Visual Studio ecosystem that enhance your complete DevOps environment.  Particularly exciting are the updates to the Productivity Power Tools for Visual Studio 2017.  Learn about how we have made these free tools more flexible and easy to manage in Justin Clareburt’s post.  You can also increase your productivity by automating your testing framework through Parasoft or, as you saw in the keynote, optimizing database changes and deployments with RedGate.   Not only have we made these great tools available to you through Visual Studio 2017 Subscription Benefits, our DevOps Partners have been certified to help you bring these advanced DevOps practices to life.  We are happy to announce the re-launch of the DevOps Partner site, in which you can search for over 125 experts across the globe.

Together, the Visual Studio Partners and the DevOps Partners bring you over thirty 20th Anniversary Product Offers.  This gives you a chance to easily explore new technologies to use with Visual Studio 2017 and take advantage of services that can accelerate your DevOps practice.  So whether you are looking for more advanced charting libraries, want to optimize on debugging, or need help migrating to SQL Server, we encourage you to see what our partner networks have to offer.

Are you interested in authoring your own extensions for Visual Studio 2017?  Visit the Visual Studio Extension site for documentation, code samples and a community forum that can help you get started.  In addition, we encourage you to join the Visual Studio Partner Program for free and take advantage of the benefits we have built to give you access to the product teams behind Visual Studio and keep you posted on activities and opportunities.

nandi Shawn Nandi, Senior Director, Partnerships and Planning

Shawn drives partnerships and planning for the developer business at Microsoft as well as product management for Visual Studio developer programs and subscriptions.

Mobile Center: Xamarin support, detailed app analytics, and more

$
0
0

Since our announcement of the Visual Studio Mobile Center Preview at Connect();,  we’ve had an amazing response from the developer community. I’d like to thank the thousands of you who’ve created accounts, kicked the tires of our lifecycle services, and provided feedback to help us create the simplest, most effective way to build, test, deploy, and monitor mobile apps from a single service.

As we head toward General Availability, we’ve incorporated that feedback into our roadmap, added new services, doubled down on existing services, and increased the size of our engineering team to make it all happen. Here’s an update of where we stand, and a preview of what’s to come.

Any developer. Any app. Any platform.

Mobile Center works with you, wherever you are, and whatever your toolset. Any iOS or Android developer working in Objective-C, Swift, Java, or React Native or Xamarin, you can take advantage of everything we offer, from continuous integration to testing to release management and analytics.

mobile-center

Complete mobile lifecycle management

Mobile Center is mission control for your mobile apps, designed to let you focus on apps instead of ops. How exactly do we do that? Here’s a look at our Beacon Services:

  • Build automates cloud-based builds every time you commit code. You can even build iOS apps automatically, without a Mac.
  • Test execute automated UI tests across operating systems on thousands of real-world devices with every Build. Test supports a range of frameworks, including Appium, UITest, Calabash, and Espresso. These tests integrate directly into your CI pipeline, so you know the results of your code changes almost immediately.
  • Distribute automatically moves passing builds to beta testers or app stores.
  • Crashes and Analytics provide detailed, real-time data about your apps in the wild, so you can identify emerging trends and fix bugs and performance issues before they become problems.
  • Tables and Identity provide scalable backend authentication, sync, and storage solutions so you can focus on building your app, instead of the infrastructure around it.

What’s coming Next

We’re hard at work on all the features in our product roadmap. Future versions of Mobile Center will include expanded platform support for Universal Windows Platform and the Cordova framework, as well as push notifications.

Mobile Center is free during Preview. If you haven’t yet checked it out, sign up for free today.

keith Keith Ballinger, Director of Program Management for Mobile Developer Cloud Services

Keith was previously the VP of Product for Xamarin, which Microsoft acquired in March of 2016. Keith has a strong background in entrepreneurship, engineering, and product management, dating back to his time as a PM on the original .NET team. Previous to Xamarin, Keith was the Chief Architect at the YC-backed startup Standard Treasury, building an API-first bank. He’s the author of two books on programming, “.NET Web Service: Architecture and Implementation” and co-author of “Special Edition: Using ASP.”

 

New benefits for Visual Studio subscribers and Dev Essentials members

$
0
0

Today at the Visual Studio 2017 launch event we announced a set of new and updated benefits for our subscribers. If you missed any of the event or want to watch the on-demand trainings, check out the launch event page. If you’re a current Visual Studio subscriber or Dev Essentials program member activate your new benefits to get started right away.  To learn more about our developer subscriptions and programs visit the Visual Studio site.

We’re pleased to announce the following new and updated benefits:

Office365 Dev Account

Visual Studio Enterprise subscribers now get multi-user access with 25-seat Office365 developer account to create and test applications for Office365.

Opsgility on-demand training

Visual Studio Dev Essentials members now have 3-month subscription to one of the most comprehensive video libraries of Microsoft Azure curriculum available. After the 3-month period, members will be eligible to upgrade to a full Opsgility membership plan for 25% off, including full lab guides and more. For more information, see Opsgility’s blog.

Parasoft Virtualize/SOAtest Professional Desktop

Visual Studio Enterprise subscribers get a 6-month subscription with full access to Parasoft Virtualize/SOAtest Professional Desktop. These tools provide test automation to help ensure the security, reliability, and performance of transactions across modern business systems. Simulate and test the behavior of unavailable and evolving applications and systems. At the end of the 6-month period, users qualify for a 25% discount on the price of annual subscription.  For more information, check out Parasoft’s benefit page.

Pluralsight on-demand training

We heard your feedback and revamped the Pluralsight benefit this year!

Visual Studio Enterprise subscribers now have full access to Pluralsight’s entire course catalog and technology learning platform for 12 months, so you can dive into courses, learning paths and assessments on mobile, Web, and DevOps.  After 12 months, you’ll have access to 40 selected courses or you can purchase a full Pluralsight subscription with 25% discount.

Visual Studio Professional, Visual Studio MSDN Platforms, and Visual Studio Test Pro subscribers now have access to 40 selected courses on Pluralsight’s new learning platform. As before, we’ll update these trainings periodically over the course of the year to help keep your skills up-to-date with new technology. If you want to purchase a full Pluralsight subscription, you can also take advantage of the 25% discount.

In celebration of the anniversary, the first 1000 Visual Studio Enterprise subscribers who sign-up for the updated Pluralsight benefit and complete one course will get a special, limited edition 20th Anniversary Visual Studio t-shirt and a multi-purpose tool from Pluralsight.*

Redgate Data Tools

Visual Studio Enterprise subscribers now have Redgate Data Tools included with their subscription to extend DevOps processes to SQL Server and Azure SQL databases and increase your productivity when working with SQL! Develop, source control, and safely automate deployments of databases changes, right alongside your application changes using tools like ReadyRoll Core, SQL Prompt Core, and SQL Search. To learn more check out this post on Redgate Data Tools in Visual Studio 2017.

WhiteSource Bolt

Visual Studio Enterprise subscribers get a 6-month subscription with full access to WhiteSource Bolt, an open source management tool integrated with Microsoft Visual Studio Team Services and Team Foundation Server platforms. It’s a lightweight solution that helps developers identify problematic open source components earlier in the development process to increase the overall security and quality of applications. At the end of the 6-month period, users qualify for a 25% on the price of annual subscription to the extension. For more information, see WhiteSource’s blog.

Again, you can enjoy the videos from the launch and on-demand videos here and don’t forget to download Visual Studio 2017!

Log into the Visual Studio Subscriptions portal today to get your new benefits.

Let us know what you’d like to see by sharing your feedback, suggestions, thoughts, and ideas in the comments below!

nandi Shawn Nandi, Senior Director, Partnerships and Planning

Shawn drives partnerships and business planning for the developer business at Microsoft as well as product marketing for developer programs and subscriptions including Visual Studio Subscriptions and Dev Essentials.

*Limit one t-shirt and tool per subscriber. This giveaway ends on May 1, 2017 or while supplies last, and is not redeemable for cash.  Taxes, if any, are the sole responsibility of the recipient.  Any gift returned as non-deliverable will not be re-sent. Please allow 6 – 8 weeks for shipment of your gift. Microsoft reserves the right to cancel, change, or suspend this offer at any time without notice.

Redgate Data Tools in Visual Studio 2017

$
0
0

Today during the Visual Studio launch event, we announced that we’ve partnered with Redgate to include Redgate Data Tools in Visual Studio 2017. Redgate Data Tools includes three components that extend DevOps practices to SQL Server and Azure SQL databases and increase your productivity while doing database development.

Here’s a brief overview of each of them:

  • ReadyRoll Core allows you to develop, source control, and safely automate deployments of database changes alongside application changes. ReadyRoll Core is available in the Enterprise edition of Visual Studio 2017.
  • SQL Prompt Core offers advanced code completion for SQL. SQL Prompt Core is available in the Enterprise edition of Visual Studio 2017.
  • SQL Search lets you find SQL objects fast and easily explore across databases. SQL Search is available in all editions of Visual Studio 2017.

You can install Redgate Data Tools using the Visual Studio Installer through the Data storage and processing workload or through the Individual components tab.

01_redgatedatatools

In this post, I’ll highlight how each of the Redgate Data Tools can improve your SQL database development.

Deploy database changes with confidence using ReadyRoll Core

Managing your database changes and incorporating them into your DevOps pipeline has always been difficult. Keeping track of what scripts need to be run and managing database states is often painful and error-prone. ReadyRoll Core simplifies this process by turning changes to your database schema into database migration scripts. These migration scripts can then be checked into source control and deployed to your other databases.

When you’re working in a ReadyRoll project and make changes to your development database using Visual Studio, SQL Server Management Studio, or another tool of choice, ReadyRoll Core will list the changes you’ve made and show you the differences.

02_redgatereadyrollcompare

Then, you can tell ReadyRoll Core to create a migration script based off these changes and add the new migration script to your project. You can modify the generated migration script yourself if needed.

03_readyrollmigrationscript

Once you’re done making changes, you can check these migration scripts into source control alongside any other updates you made to your application and share your work with your team.

Redgate also offers a ReadyRoll Visual Studio Team Services plugin that includes VSTS build and release tasks to safely deploy these migration scripts to other databases. This way, you can keep your database deployments consistent across multiple instances. You can set up VSTS to automate these database deployments to shift your database development further left and learn about potential problems sooner.

04_readyrollvsts

Check out Redgate technical lead David Simner’s video on Channel9 for an overview of how you can use ReadyRoll Core for your own database development.

Make writing SQL code a breeze with SQL Prompt Core

SQL Prompt Core is a suite of SQL code editing productivity enhancements that help you write SQL code efficiently. Most importantly, SQL Prompt Core offers advanced code completion that automatically suggests SQL commands, column names, and more as you type.

SQL Prompt Core is more than autocomplete though – it provides a myriad of other quality of life improvements that come together to simplify writing SQL code. Here are two of my favorite examples:

  • Expanding wildcards – hitting the tab button after the * in a SELECT * FROM statement will expand the wildcard.

05_sqlpromptwildcard

SQL Prompt will then replace the * with all available columns in that table.

06_sqlpromptwildcardexpanded

If you don’t want all columns, you can highlight the * instead and start typing to select the subset of columns that you need.

07_sqlpromptwildcardselect

  • Suggestions for joins – SQL Prompt can complete join statements for you automatically and suggest possible joins based on foreign key relationships or column similarities as you type.

08_sqlpromptjoin

Search quickly across SQL databases with SQL Search

Finding SQL objects can be tricky and time-consuming when dealing with complex databases or when you’re unfamiliar with a database. SQL Search saves you time by quickly finding fragments of SQL in tables, views, stored procedures, and more.

09_sqlsearch

If you’re a database developer, you may have run into scenarios where you need to change a column and all stored procedures that reference that column. SQL Search makes this a cinch. Simply search for the column name and SQL Search will display all references to it. Double clicking an occurrence navigates you to it in the SQL Server Object Explorer, where you can make the appropriate changes.

Use Redgate Data Tools today in Visual Studio 2017

We’re excited to include Redgate Data Tools in Visual Studio 2017 to make your database development easier and more efficient. Download Visual Studio 2017 to try them out, and feel free to share your feedback with Redgate. Check out Redgate’s SQL Toolbelt as well if you’re interested in their other offering.

jeff-gao Jeff Gao, Program Manager, Visual Studio Platform

Jeff is a Program Manager on the Visual Studio Platform team focused on improving the product acquisition experience.

Optimize your productivity with .NET in Visual Studio 2017

$
0
0

Visual Studio 2017 makes you more productive by getting you to your code fast and helping you write code quickly. With improvements to performance, navigation, and debugging as well as the additions of new refactorings, code style configuration/enforcement, and live unit testing, this release is chock full of advancements. This post shows you how to take full advantage of these features.

Getting Started

Visual Studio 2017 significantly cuts down the time it takes to install, open Visual Studio, and write code in your solution. The new Visual Studio installer gives you the freedom to pick and choose exactly what you want installed.

After you install Visual Studio, you’ll notice how much faster the VS startup time and solution load time are:

  • The improvements made on Visual Studio startup time are illustrated in this blog post featuring a side-by-side video comparison.
  • You can enable lightweight solution load to lazily load projects. This is especially helpful if you work on a solution with hundreds of projects but you personally only work in one or two of those. You can enable lightweight solution load by going to Tools > Options > Projects and Solutions > Lightweight solution load for all solutions. Note: lightweight solution load does not work with F# projects.

Navigating Your Codebase

Visual Studio 2017 refreshes the navigation experience to help you get from A to B with greater confidence and fewer distractions:

  • Go To Implementation (Ctrl+F12) – navigate from any base type or member to its various implementations.
  • Go To All (Ctrl+T or Ctrl+,) – navigate directly to any file/type/member/symbol declaration. You can use the icons along the top of the feature to filter your result list or use the query syntax (e.g., “f searchTerm” for files, “t searchTerm” for types, etc.).
  • Find All References (Shift+F12) – now with syntax colorization, Find All Reference results can be custom grouped by a combination of project, definition, and path. You can also “lock” results so that you can continue to find other references without losing your original results.
  • Indent Guides ­– dotted, gray vertical lines act as landmarks in code to provide context within your frame of view. You may recognize these from the popular Productivity Power Tools.

gotoall

Writing Your Code

In this release, we have made a bunch of small tweaks and additions to help automate common tasks and speed up your workflow:

  • IntelliSense – filter your completion list by category by clicking on the icons in the tray or by hovering over them to learn the keyboard shortcut. This is great when you are learning a complex API or working in WPF and specifically looking for only properties or events, etc.
  • Refactorings – use ‘Ctrl+.’ to access all the refactorings and quick actions we’ve added in VS. Here is an overview:
    • Move type to file with same name
    • Sync file and type name
    • Add missing switch/Select case
    • Make method synchronous
    • Convert method to property, and vice versa
    • Convert to interpolated string
    • And many more!
  • Add using/Imports for types in reference assemblies/NuGet packages – if you type an unrecognized type, we will search for it in your reference assemblies and on NuGet.org and offer a quick fix to add the using/Imports. This feature is off by default; to enable it go to Tools > Options > Text Editor > [C#/Basic] > Advanced > Suggest usings for types in reference assemblies and Suggest usings for types in NuGet packages. Enabling the latter option will download 10 MB of a NuGet index on your machine and it will take several seconds to complete (this will not affect your workflow in VS, but it does means you cannot immediately use the feature once enabling it).
  • Code Suggestions – code suggestions let you hint best practices to developers. They surface in the editor as gray dots and you can apply suggestions with the command “Ctrl+.”.

intellisensefiltering

Driving Consistency and Readability

In Visual Studio 2017, you can configure and enforce your team’s coding conventions to drive consistency across your entire repository with EditorConfig. EditorConfig is an open file format and we worked with their community to support .NET code style within this format. Teams can configure convention preferences and choose how they are enforced inside the editor (as suggestions, warnings, or errors). The rules apply to whatever files are in the directory that contains the EditorConfig file. If you have different conventions for different projects, you can define each project’s rules in different EditorConfig files if the projects are in separate directories. Because, at the end of the day, EditorConfig is just a text file, it’s easy to check it into source control and have it live and travel with your source.

If you do not wish to use an EditorConfig file or you want to configure rules that your team hasn’t explicitly set, go to Tools>Options>Text Edtior> [C#/Basic]>Code Style to configure your machine local settings.

To get language service support when editing an EditorConfig file in VS, download Mads Kristensen’s extension. Learn more about coding convention support in VS2017 by reading our documentation or our post on the .NET blog.

Testing Your Code

Live Unit Testing reveals the impact of a code change on your unit tests almost instantly without you having to shuffle between the editor and the Test Explorer to manually run your tests. The icons on each line of code illustrate whether the line is hit by all passing tests (green check), at least one failing test (red ex), or if it is not covered by any tests (blue dash). To enable Live Unit Testing for your solution, go to Test > Live Unit Testing > Start.

For those of you with large solutions, we enable you to select which tests you want to be “live”. From the Solution Explorer, you can right-click on a project to Include/Exclude it from the Live Test Set or if you are within a test file, you can highlight a group of tests and right-click to Include/Exclude them. You can play with other settings for Live Unit Testing by going to Tools > Options > Live Unit Testing.

To learn more about Live Unit Testing and how it can save you time and effort, read this blog post.

lut

Debugging

Visual Studio 2017 builds upon the debugging experience to help you identify the source of an issue faster:

  • The new Exception Helper puts the most important information from an exception at the top-level, like inner exception details and the expression that returns null. From the Exception Helper you can also choose to disregard certain exception types while debugging—such as exceptions thrown by third-party libraries.
  • Run To Click executes a developer’s program until it reaches the target line of code and breaks in debug mode. This feature saves you time by acting as a temporary breakpoint.
  • XAML Edit and Continue lets you change your XAML while your app is running so that you can continuously tweak your UI. Note: this feature was originally added in Visual Studio 2015 Update 2.
  • Reattach To Process enables you to quickly reattach to previous debug targets. After you have manually attached once, you don’t have to waste time in the Attach to Process dialog to debug that same application. You can find this feature under Debug > Reattach to process… or with the command “Shift+Alt+P”.

exceptionhelper

Moving Your Code Forward with C# 7.0 and VB 15

The release of Visual Studio 2017 coincides with the final versions of C# 7.0 and VB 15. The new language features in these releases help you work with data and write more condensed code.

When adopting these new features into your everyday development, note:

  • To use tuples in C# and Visual Basic you must have the ValueTuple package installed. If you enable the Add using/Imports for NuGet package setting mentioned in the Writing Your Code section, you can add this package with one-click via “Ctrl+.”.
  • We added a ton of quick actions to help you embrace new language features, such as:
    • Use throw expression (C# 7.0) and null-coalescing operator (??) to simplify null-check.
    • Use explicitly provided tuple name (C# 7.0).
    • Use pattern-matching (C# 7.0) to simplify null-check.
    • Convert string.Format or concatenated string to an interpolated string (C# 6.0).
    • Use expression-bodied member for methods/constructors/indexers/properties/operators/accessors (C# 6.0/7.0).

Don’t forget to follow the language design for C# and Visual Basic on our new GitHub repos, CSharpLang and VBLang.

vbtupleexplicittype

Learning Hotkeys

Become a power user of Visual Studio by familiarizing yourself with common shortcut keys outlined in this cheat sheet. If you are coming to Visual Studio from another IDE, try Justin Clareburt’s Hot Keys 2017 extension to remap the default Visual Studio shortcuts to the ones you are used to.

Downloading Visual Studio 2017

With all the improvements to performance, navigation, debugging, refactorings, code style configuration/enforcement, and live unit testing there is no time to waste! Download Visual Studio 2017 today and take advantage of all the productivity features we have added to save you time and effort.

If you think we are missing a refactoring or quick action, please let us know by filing an issue on our GitHub.

image Kasey Uhlenhuth, Program Manager, .NET & Visual Studio
@kuhlenhuth
github.com/kuhlenh  Kasey is a program manager on the .NET Managed Languages team at Microsoft and is currently working on modernizing the C# and VB developer experience. Previously, she worked on C# Interactive and Node.js Tools for Visual Studio.

Iterations on infinity

$
0
0

Developers like you live with the Visual Studio icons every day: clicking on them multiple times, staring at them side by side on the taskbar, and seeing them attached to project files. So when we update them, it’s a big deal. After all, icons matter. For pictures that are at most just under a centimeter wide on a normal display (or under half an inch, for those of you who aren’t British like me), icons are huge. They pack a lot of meaning into a small space. They offer clues as to what kind of experience you’ll have with the application the icon represents. Some icons even establish an emotional connection: they make you feel something about something.

We’ve started rolling out a new series of icons to represent the Visual Studio product family. The classic purple infinity shape that you already know and recognize is sticking around. But you might say it’s gotten a promotion of sorts: the purple infinity by itself now represents the entire suite of products you’ve come to rely on. That includes our flagship Visual Studio IDE, Visual Studio Team Services, Blend for Visual Studio, and Visual Studio Mobile Center. The family also includes a macOS-style icon for Visual Studio for Mac, and a new icon for Visual Studio Code that will be revealed soon.

But the infinity symbol by itself isn’t enough. One of the problems our users have brought up for some time is not being able to tell different versions of Visual Studio products apart. For example, we had light blue icons for both Visual Studio Code and Visual Studio Team Services. That’s our fault, not yours. Even our own designers couldn’t always tell you which blue was which, and why. That got confusing for us, which meant it had to be confusing for you.

So we literally went back to the drawing board, if you’ll forgive the pun. We had a friendly competition among multiple design teams across three continents working on and iterating different concepts for the icon set. Icons for a major product family like Visual Studio should be visually attractive, but the requirements don’t stop there. They have to effectively communicate to a worldwide audience.

We faced several challenges designing this new icon set. Because the infinity shape has such strong brand recognition in the developer space, we wanted the new icons to look and feel as if they were an extension of that brand. To achieve this, the new icon set needed to be in the same style as the existing infinity shape. Deconstructing the infinity shape, it fits onto an underlying grid with two-point perspective. It’s got a thin vertical line on the left and a thick vertical line on the right, and the shape as a whole is made entirely of straight lines and strong angles that could be created by folding a ribbon. Finally, one of the most crucial directives our designers had was to follow was to use only a single flat color for each icon. Each new icon had to follow all these rules, using only one color, straight lines, ribbon folds for all corners, and trying to retain a thin vertical line on the left and a thick vertical line on the right. Different but similar. It wasn’t an easy task, even for some of the best artists and designers in the industry.

Within these constraints and with the objective of building a whole icon set that conveys a sense of family, I’m quite proud of what our designers have accomplished. Most importantly, this new icon set has the familiar feeling of a Microsoft product family that’s part of the existing Microsoft brand. This familiar feeling is hard to pin down, but it’s essential. As I mentioned earlier, the purple infinity symbol is still around. In its classic dark purple, it now represents the whole Visual Studio family of products. In a lighter hue and with a stylized border, it represents our main IDE. You’ll absolutely know what to expect when you click on it. That’s a good thing.

The stylized border in the refreshed Visual Studio IDE icon is used in our other updated product icons as well. But instead of having to remember which icon is Visual Studio Code and which icon is Visual Studio Team Services based solely on color, each product icon now includes a unique pictogram that captures the individual flavor of each product. As each icon gets finalized and hard-coded into our different products, you’ll be able to tell that Blend and Code are both Visual Studio products, but are not the same thing. You’ll be able to tell the difference between Visual Studio Mobile Center and Visual Studio Team Services, and at the same time see that they’re part of the same product family.

If you’re using Visual Studio for Mac, you’ll notice that the new product icon combines elements of both macOS and Windows visual design. We’ve used the purple infinity symbol, and set it against the common macOS pattern of a rotated rectangle. To make it pop on the macOS Dock, the Visual Studio for Mac icon has some added shading and detail.

Ultimately, the reason we put so much time and energy into refreshing these icons was to make your job easier. We always want you to be confident when you click on one of our icons, so you can get down to coding and focus on what you really want to focus on: making the best software in the world. Did we get it right? Tell us at UserVoice or use the Send Feedback tool in Visual Studio.

john-lea John Lea, Principal Design Director, Developer Division

John heads the DevDiv design studios responsible for the design of Microsoft’s developer tool products including Visual Studio, Visual Studio Code and Visual Studio Team Services. John has been designing and building user interfaces and leading teams for over 18 years, and before joining Microsoft he was Head of UX Architecture and Delivery at Canonical where he spent seven years designing the Ubuntu Linux operating system UI.

 


Live Unit Testing in Visual Studio 2017 Enterprise

$
0
0

Live Unit Testing is present in the Enterprise edition of Visual Studio 2017 and it’s available for C# and VB projects that target the .NET Framework. This is a more comprehensive blog than the one we published in November. In this blog, we focus on all capabilities including some that were not mentioned in the earlier blog. It also includes an updated video that demos all these capabilities. FAQs are covered as well at the end.

This is a productivity feature, which provides real-time feedback directly in the editor on how code changes are impacting your unit tests and your code coverage. This will help you maintain quality by keeping the tests passing as you make changes. It will also remind you when you need to write additional unit tests as you are making bug fixes and adding features.

The Live Unit Testing capabilities in Visual Studio 2017 Enterprise are highlighted below:

image1-live-unit-testing

Easy to Start, Stop, Pause or Restart

To enable Live Unit Testing, go to the Test command of the top-level menu bar, choose “Live Unit Testing”, then “Start”:

image2-live-unit-testing-start

At any time, you can temporarily pause or completely stop Live Unit Testing; for example, when you are in the middle of a refactoring, and you know that your tests will be broken for a while. It is as simple as opening the Test menu, selecting Live Unit Testing, and choosing one of the following options:

  • Pause to suspend Live Unit Testing. When Live Unit Testing is paused, you do not see any coverage visualization in the editor, but all the data that is collected so far is preserved. When you are ready to resume, select Continue from the Live Unit Testing menu. Live Unit Testing will do the necessary work to catch up with all the edits that have been made while it was paused and will update the glyphs appropriately.
  • Stop to completely stop Live Unit Testing. When Live Unit Testing is started after it had been stopped, it takes longer to show the glyphs than when it was paused and resumed. This is because it loses all data when it is stopped.
  • Restart is the equivalent to selecting Stop and immediately selecting Start to start Live Unit Testing again.

View coverage information in the editor as you type

Once enabled, Live Unit Testing helps you quickly see whether the code you’re writing is covered and if the tests that cover it are passing without leaving the editor.  Unit test results and coverage visualizations appear on a line-by-line basis in the code editor.

There are three potential states for any given line:

image4-live-unit-testing-coverage-state-redcross A line of executable code that is covered by at least one failing test is decorated with a red “x”.
image5-live-unit-testing-coverage-state-greencheck A line of executable code that is covered by only passing tests is decorated with a green “✓”.
image6-live-unit-testing-coverage-state-bluedash A line of executable code that is not covered by any test is decorated it with a blue dash “-”

Live Unit Testing coverage visualization is updated immediately as you modify code in the code editor. While processing the edits, visualization changes to indicate that the data is not up-to-date, as shown below. Once processing is done, it transitions to one of the final states described earlier:

Quickly navigate to failed test

At any point in time you can hover over the “✓” or “x” to see how many tests are hitting the given line, as seen in image below:

image10-live-unit-testing-mouse-hover-tool-tip

To see what tests are exercising the given line, click on “✓” or “x”.

image11-live-unit-testing-mouse-click-tool-tip

When you hover over the failed test in the tool tip, it expands to provide additional info to give more insight into the failure:

image12-live-unit-testing-mouse-hover-over-test

To navigate directly to the failed test, click on it in the expanded UI.

Seamlessly debug failed test, edit and continue without having to restart

From the failed test, you can easily debug to the product code, make edits, and continue, without having to pause or stop Live Unit Testing. However, if you want Live Unit Testing to pause when you are debugging then there is an option in Tools/Options page, as shown in section 7 below, for Live Unit Testing to do that.

Include/Exclude targeted test methods or projects for large solutions

Live unit testing enables you to avoid the overhead of continuously running the unit tests for code that you aren’t touching or affecting, especially when you are dealing with a large code base. When you enable Live Unit Testing on a solution with 10 or more projects, you will see a dialog box, that gives a choice to include all or exclude all projects:

image13-live-unit-testing-large-solution

If you select Yes, you get coverage for all projects. If you select No, then Live Unit Testing excludes all projects from Live Unit Testing. You can then go ahead and include targeted tests, by right clicking a test project in solution explorer and choosing Live Tests/Include:

image14-live-unit-testing-include-exclude

The smallest unit of inclusion in or exclusion from Live Unit Testing is a test method.

You can also include or exclude tests by right-clicking in the code editor:

  • If you right click anywhere inside the method then that method can be included or excluded.
  • If you right click outside the method body but somewhere inside the containing class, then all tests inside that class can be included or excluded.
  • If you right click outside the class but somewhere inside the file, then all tests in that file can be included or excluded.

The last include/exclude action always wins. If you had explicitly excluded some tests within a class and go back to it later and include the entire containing class, then all tests inside that class will get included. This includes the tests that were previously explicitly excluded.

Include/Exclude state is saved as a user setting and is remembered when a solution is closed and reopened.

See FAQs section below for more information on how to exclude tests.

Integrated with Test Explorer

The Test Explorer Window and Live Unit Testing are synchronized. As you change your code, Live Unit Testing runs the impacted tests, and only those Tests are shown bright in the Test Explorer Window. The non-impacted tests are dimmed out as shown in image below:

image15-live-unit-testing-test-explorer-integration

Configurable with Tools/Options/Settings

To configure the available options for Live Unit Testing go to Visual Studio’s Options from the Tools menu, and select Live Unit Testing in the left pane of the Options dialog. The configurable options include:

  • Whether Live Unit Testing runs automatically when a solution is opened.
  • Whether Live Unit Testing pauses when a solution is built and debugged, or when a system’s battery power falls below a specified threshold.
  • The interval after which a test case times out; the default is 30 seconds.
  • The number of test processes that Live Unit Testing would create.
  • The Live Unit Testing log information written to the output window. Options include no logging (None), error messages only (Error), error and informational messages (Info – this is the default), or all detail (Verbose).

image16-tools-options

Adaptable to work with three popular unit testing frameworks

Live Unit Testing in Visual Studio works with three popular unit testing frameworks: MSTest, xUnit.net, and NUnit. The adapters and frameworks referenced in every project in the solution must meet or exceed the minimum versions given below else Live Unit Testing will give an error. You can get these from NuGet.org.

Test Framework VS Adapter Version Framework version
xUnit.net xunit.runner.visualstudio version 2.2.0-beta3-build1187 xunit 2.0
NUnit NUnit3TestAdapter version 3.5.1 NUnit version 3.5.0
MSTest MSTest.TestAdapter 1.1.4-preview MSTest.TestFramework 1.0.5-preview

If you have older adapter and test framework references from your existing projects, be sure to remove them (make sure you remove the reference to Microsoft.VisualStudio.QualityTools.UnitTestFramework, if you are using MSTest.)  and add the new ones for Live Unit Testing to work.

FAQs

You can find latest Live Unit Testing FAQs on our MSDN documentation wiki.

Q: Does Live Unit Testing work with .NET Core?

A:  Live Unit Testing currently does not work with .NET Core. We are working to add this support in future.

Q: Why doesn’t Live Unit Testing work when I turn it on?

A: Output Window (when Live Unit Testing drop down is selected) should tell you why Live Unit Testing is not working. Live Unit testing may not work because of one of the following reasons:

  • If NuGet packages referenced by the projects in the solution have not been restored, then Live Unit Testing will not work. Doing an explicit build of the solution or restoring NuGet packages on the solution before turning Live Unit Testing on should resolve this issue.
  • If you are using MSTest-based tests in your projects, make sure that you remove the reference to Microsoft.VisualStudio.QualityTools.UnitTestFramework and add references to the latest MSTest NuGet packages (see above under the “Adaptable to work with three popular unit testing frameworks” section).
  • At least one project in your solution should have either a NuGet reference or direct reference to xUnit, NUnit or MSTest test framework. This project should also reference corresponding VS test adapters NuGet package. VS test adapter can also be referenced through a .runsettings file. The .runsettings file will need to have an entry like the one below:
<RunSettings>
<RunConfiguration>
<TestAdaptersPaths>c:\Path\To\Your\TestAdapter\</TestAdaptersPaths>
</RunConfiguration>
</RunSettings>
Q: Can I customize my Live Unit Testing builds?

A: If your solution requires custom steps to build for instrumentation (Live Unit Testing) that are not required for the “regular” non-instrumented build, then you can add code to your project or .targets files that checks for the BuildingForLiveUnitTesting property and performs custom pre/post build steps. You can also choose to remove certain build steps (like publishing or generating packages) or to add build steps (like copying prerequisites) to a Live Unit Testing build based on this project property. This will not alter your regular build in any way and will only impact Live Unit Testing builds. For e.g., there may be a target which produces NuGet packages during a regular build. You probably do not want NuGet packages to be generated after every edit you make. So, you can disable that target in Live Unit Testing build by doing something like the following:

<Target Name="GenerateNuGetPackages" BeforeTargets="AfterBuild" Condition="'$(BuildingForLiveUnitTesting)' != 'true'">
<Exec Command='"$(MSBuildThisFileDirectory)..\tools\GeneratePackages '/>
</Target>
Q: Why do I get the following error when Live Unit Testing tries to build my solution “… appears to unconditionally set ‘<OutputPath>’ or ‘<OutDir>’. Live Unit Testing will not execute tests from the output assembly”?

A: This can happen if the build process for your solution unconditionally overrides the <OutputPath> or <OutDir> such that it does not fall under <BaseOutputPath>. In such cases, Live Unit Testing will not work because it also overrides these to ensure that build artifacts are dropped to a folder under <BaseOutputPath>. If you must override the location where you want your build artifacts to be dropped in a regular build, then override the <OutputPath> conditionally and based on <BaseOutputPath>. For e.g. if your build is overriding the <OutputPath> as shown below:

<Project>
<PropertyGroup>
<OutputPath>$(SolutionDir)Artifacts\$(Configuration)\bin\$(MSBuildProjectName)</OutputPath>
</PropertyGroup>
</Project>

Then you can replace it with the text below:

<Project>
<PropertyGroup>
<BaseOutputPath Condition="'$(BaseOutputPath)' == ''">$(SolutionDir)Artifacts\$(Configuration)\bin\$(MSBuildProjectName)\</BaseOutputPath>
<OutputPath Condition="'$(OutputPath)' == ''">$(BaseOutputPath)</OutputPath>
</PropertyGroup>
</Project>

This ensures that <OutputPath> lies within the <BaseOutputPath> folder.

Do not override <OutDir> directly in your build process; override <OutputPath> instead for build artifacts to be dropped to a specific location.

Q: I want the artifacts of a Live Unit Testing build to go to a specific location instead of the default location under the .vs folder. How can I change that?

A: Set the LiveUnitTesting_BuildRoot user level environment variable to the path where you want the Live Unit Testing build artifacts to be dropped.

Q: How is running tests from Test Explorer window different from running tests in Live Unit Testing?

A: There are several differences:

  • Running or debugging tests from the Test Explorer window runs regular binaries, whereas Live Unit Testing runs instrumented binaries. If you want to debug instrumented binaries, adding a Launch method call in your test method causes the debugger to launch whenever that method is executed (including when it is executed by Live Unit Testing), and you can then attach and debug the instrumented binary. However, our hope is that instrumentation is transparent to you for most user scenarios, and you do not need to debug instrumented binaries.
  • Live Unit Testing does not create a new AppDomain to run tests, but tests run from the Test Explorer window do create a new AppDomain.
  • Live Unit Testing runs tests in each test assembly sequentially, whereas if you run multiple tests from the Test Explorer window and you selected the Run Tests in Parallel button, they will run in parallel.
  • Discovery and execution of tests in Live Unit Testing goes through version 2 of TestPlatform, whereas the Test Explorer window still uses version 1. You should not notice a difference in most cases though.
  • Test Explorer currently runs tests in a single-threaded apartment (STA) by default, whereas Live Unit Testing runs tests in a multithreaded apartment (MTA). To have MSTest tests run in STA in Live Unit Testing, decorate the test method or the containing class with the <STATestMethod> or <STATestClass> attribute that can be found in the MSTest.STAExtensions 1.0.3-beta NuGet package. For NUnit, decorate the test method with the < RequiresThread(ApartmentState.STA)> attribute, and for xUnit, with the <STAFact> attribute.
Q: How do I exclude tests from participating in Live Unit Testing?

A: Please refer to include/exclude functionality mentioned above for user specific setting. This is extremely useful when you want to run a specific set of tests for a particular edit session or to persist your own personal preferences.  For solution specific settings, you can apply the ExcludeFromCodeCoverageAttribute programmatically to exclude methods, properties, classes, or structures from getting instrumented by Live Unit Testing. Additionally, you can also set <ExcludeFromCodeCoverage> property to “true” in your project file, to exclude the whole project from getting instrumented. The tests which have not been instrumented will still be run by Live Unit Testing but coverage from those will not be visualized.

You can check if “Microsoft.CodeAnalysis.LiveUnitTesting.Runtime” is loaded in the current AppDomain and disable tests based on that. For e.g. you could do something like the following with xUnit:

[ExcludeFromCodeCoverage]
public class SkipLiveFactAttribute : FactAttribute
{
private static bool s_lutRuntimeLoaded = AppDomain.CurrentDomain.GetAssemblies().Any(a => a.GetName().Name == "Microsoft.CodeAnalysis.LiveUnitTesting.Runtime");
public override string Skip => s_lutRuntimeLoaded ? "Test excluded from Live Unit Testing" : "";
}
public class Class1
{
[SkipLiveFact]
public void F()
{
Assert.True(true);
}
}
Q: Why are Win32 PE headers different in instrumented assemblies built by Live Unit testing?

A: There is a known bug that may result in Live Unit Testing builds failing to embed the following Win32 PE Header data. Tests that rely on these values may fail when executed by Live Unit testing:

  • File Version (specified by AssemblyFileVersionAttribute in code)
  • Win32 Icon (specified by /win32icon: on command line)
  • Win32 Manifest (specified by /win32manifest: on command line)
Q: Why does Live Unit testing keep building my solution all the time even if I am not making any edits?

A: This can happen if the build process of your solution generates code which are part of the solution itself, and your build target files do not have appropriate inputs and outputs specified. Targets should be given a list of inputs and outputs so that MSBuild can perform the appropriate up-to-date checks and determine whether a new build is required. Live Unit Testing will kick off a build whenever it detects that source files have changed. Because the build of your solution generates source files, Live Unit Testing will get into infinite build loop. If, however the inputs and outputs of the target are checked then when Live Unit Testing starts the second build (after detecting the newly generated source files from previous build), it will break out of the loop because the inputs and outputs checks will indicate that everything is up-to-date.

Q: How does Live Unit testing work with the Lightweight Solution Load feature?

A: Live Unit Testing currently doesn’t work well with the Lightweight Solution load feature if all projects in the solution are not yet loaded. You may get incorrect coverage information in such scenarios.

Q: Why does Live Unit Testing does not capture coverage from a new process created by a test?

A: This is a known issue which we were not able to fix in VS 2017 release. It should be fixed in a subsequent update of VS 2017.

Q: Why does nothing happen after I include or exclude tests from Live Test Set?

A: This is a known issue. To work around this, you will need to make an edit on any file after you have included or excluded tests.

Q: Why do I not see any icons in the editor even though Live Unit Testing seems to be running the tests based on the messages in the output window?

A: This will happen if the assemblies that Live Unit Testing is operating upon is not instrumented for any reason. For e.g. Live Unit Testing is not compatible with projects that set <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>. In this case, your build process will need to be updated to either not set this or change it to false for Live Unit Testing to work.

Q: How do I collect more detailed logs to file bug reports?

A: You can do several things to collect more detailed logs:

  • Go to Tools > Options > Live Unit Testing and change the logging option to verbose. This causes more detailed logs to be shown in the output window.
  • Set the LiveUnitTesting_BuildLog user environment variable to the path of the file you want to use to capture the MSBuild log. Detailed MSBuild log messages from Live Unit Testing builds can then be retrieved from this file.
  • Create a user-level environment variable named VS_UTE_DIAGNOSTICS and set it to 1 (or any value) and restart Visual Studio. Now you should see lots of logging in the Output – Tests tab in Visual Studio.

Conclusion

Live Unit Testing will improve your productivity, test coverage and software quality. .NET developers, check out this feature in Visual Studio 2017. For developers who are part of a team that practices test-driven development, Live Unit Testing gamifies their workflow; in other words, all their tests will fail at first, and as they implement each method, they will see them turn green. It will evoke the same feeling as a nod of approval from your coach, who is watching you intently from the sidelines, as you practice your art!

Watch this Live Unit Testing video, where we demonstrate this feature:

 

Joe Morris, Senior Program Manager, Visual Studio
@_jomorris

Joe has been with Microsoft for 19 years, with a particular focus on static analysis and developer productivity for the last three years.

Manish Jayaswal, Principal Engineering Manager, Visual Studio
@jayaswalmk

Manish has years of management experience in commercial software development with deep technical expertise in compiler technology, debugger, programming languages, quality assurance and engineering system.

Visual Studio 2017 Poster

$
0
0

Since we launched Visual Studio 2017 last week, hundreds of thousands of customers like you have already installed and started using Visual Studio 2017, and we’re excited to see what you create. Visual Studio 2017 contains so many new features. From productivity enhancements to new C++ capabilities. Start using our ASP.NET Core Tooling along with Live Unit Testing. Explore C# 7 and our new database DevOps features that help improve your productivity.

We thought it would be fun to put together a poster that shows off some of our favorite parts of Visual Studio 2017. You’ll also see some helpful tips and tricks to improve your productivity!

visualstudio2017_productlaunchposter-1

Go ahead and download this poster as a PDF, hang it up in your team room or wherever you code and tweet us a picture at @VisualStudio with the caption #MyVSStory. We also have a web infographic version, and if you just need a cheat sheet of handy keyboard shortcuts, you can just download that page for easy printing.

A quick reminder – we’d love your feedback on Visual Studio 2017. If you run into an issue, you can Report-a-Problem directly from within Visual Studio to our Developer Community. We are always listening so you can also submit suggestions or feature ideas to be considered on our UserVoice.

Tim Sneath, Principal Lead Program Manager, Visual Studio

Tim leads a team focused on Visual Studio acquisition and extensibility. His mission is to see developers create stunning applications built on the Microsoft platform, and to persuade his mother that her computer is not an enemy. Amongst other strange obsessions, Tim collects vintage releases of Windows, and has a near-complete set of shrink-wrapped copies that date back to the late 80s.

Visual Studio 2017 Update Preview and Windows 10 Creators Update SDK

$
0
0

It’s only been a week since we released Visual Studio 2017 and we’re already working on an update: Visual Studio 2017 Update Preview. This Update preview includes two main changes: improvements to the Universal Windows Platform (UWP) tools to support the Creators Update SDK and the addition of the Python tools. For full details of what’s in this preview, you can read the release notes.

A Note on Updates

There’s a notable change we’ve made with previews in Visual Studio 2017: you’re able to install previews side by side with the released version of Visual Studio. That means you can use Visual Studio 2017 for your stable production work and Visual Studio 2017 Update Preview to get a peek into what we have in the pipeline. When you install both, you’ll see two different task bar icons so you can distinguish them – one that’s solid (for the released version) and one that’s not (for the preview). Similarly, if you happen to load the Visual Studio installer and you have both the released and Update preview versions of VS installed, you’ll even see both of them in the UI.

sxslogo

Just like the released version of Visual Studio, these previews will update, so expect to see the familiar update flag in the title bar letting you know an update is ready for you to download and install.

One note about the “side by side” experience: while most of Visual Studio RTM and these Update previews will be side by side, there are some components that have only one on the system like the C runtime, the .NET Framework, and the Visual Studio installer itself.

willow

Astute observers may also note that, starting in Visual Studio 2017, we moved to a simpler versioning system – you’ll see minor versions like 15.1, 15.2, and so on, with patch updates identified with a longer build number. This first update will be versioned 15.1, and eventually you will see patches identified (e.g. 15.1.12345) when they become available. This versioning system is a bit simpler than the “Visual Studio Update 1” terminology we used previously and does a better job matching the speed and frequency that we will be releasing.

Universal Windows Platform (UWP) Tools

The Universal Windows Platform Tools have been updated to add support for the upcoming Creators Update SDK. We have also made several other improvements listed below.

Windows SDK Preview Support

Starting with the Creators Update SDK, we will enable side-by-side installation of the SDK. This will allow you to create production ready packages targeting the released versions of the SDK from the same machine, even when preview SDKs are installed. We hope this feature will help you to test new APIs and functionality available in preview SDKs without having to setup a separate machine. This preview version of Visual Studio 2017 will install the 10.0.15052.0 preview version of the Windows SDK. You will get the best experience if you target this SDK with Visual Studio 2017 running on Windows Insider build 15055 or later, available in the fast ring.

Please note that targeting the Creators Update SDK is only supported in Visual Studio 2017.

windows-creators-sdk

PackageReference support in UWP projects

In the past, NuGet packages were managed in two different ways – packages.config and project.json –  each with their own sets of advantages and limitations. With the introduction of PackageReference, we have enhanced the NuGet package management experience significantly with features such as deep MSBuild integration, improved performance for everyday tasks such as install and restore, and multi-targeting.

While we remain fully committed to maintaining compatibility of UWP projects created with Visual Studio 2015 in Visual Studio 2017, we will provide new experiences in Visual Studio 2017 to help migrate your projects to use the new PackageReference format. This release starts us down this path by ensuring that new projects targeting the Creators Update SDK use PackageReference by default for expressing NuGet dependencies. Projects that target SDKs prior to the Creators Update will still continue to use project.json to express their NuGet dependencies so they can be edited in Visual Studio 2015. In an upcoming Preview release, if you re-target older UWP projects in Visual Studio 2017 to target the Creators Update SDK, we will automatically migrate all references from project.json to the new MSBuild-based PackageReference format.

New .NET Native compiler distributed as a NuGet package

The .NET Native compiler has a number of new improvements and fixes that you can read more about on the .NET blog. In particular, the .NET Native compiler is now distributed as a NuGet package bundled with the Microsoft.NETCore.UniversalWindowsPlatform package. This will allow future updates to the compiler without requiring updates to Visual Studio.

In an upcoming preview release, new projects created in Visual Studio 2017 that target the Creators Update SDK will reference the 5.3.x Universal Windows Platform NuGet package by default, and hence take advantage of the .NET Native compiler improvements by default. Projects that target an SDK prior to Creators Update still use the 5.2.x version of the Universal Windows Platform NuGet package, and can be manually updated to the newer version. Please note that making this update means the project can no longer be built using the Visual Studio 2015 tools.

Better Visual Studio integration for XAML controls delivered as NuGet packages

We have made several improvements across Visual Studio to have better support for NuGet packages when they contain XAML controls and libraries. The toolbox in Visual Studio now lists controls with custom icons from the NuGet package as soon as the package is added to the project. The XAML designer is also capable of extracting styles/template for such controls, as well as reading design-time metadata to enhance your productivity of working with the designer.

You can see an example of such a NuGet package here.

Support for detecting SDK version specific code in XAML

In this release we now detect XAML types and properties that only exist in certain versions of the SDK and show them with squiggles in the XAML editor. This lets you make an informed decision on whether the XAML you specify will work on all versions of Windows that you expect your app to run on. In future releases, we will be adding more safe-guards to the XAML authoring experience and will provide you the ability to write conditional expressions to use these properties and types in newer version of the platform.

xaml

Command Line Arguments in Debug Mode

If your app accepts activation arguments, you can now configure these values from the new Command Line Arguments property in the Debug Configuration page. The screenshot below shows this in action for C# and VB projects, but you will soon be able to do this with C++ projects as well. You will receive these values in the App.OnLaunched event in the LaunchActivatedEventArgs.Arguments property – thereby allowing you to dynamically change the execution patterns of your app (for example, running some test code).

debug-config

UWP streaming install support

This version of Visual Studio 2017 is the first to let you create streaming UWP packages. To support streaming install in your app, you will need to create a SourceAppxContentGroupMap.xml file that defines your content groups and the files within them. From there, you can use Visual Studio to create the final AppxContentGroupMap.xml by right clicking on the project, and selecting Store -> Convert Content Group Map File. You can learn more here.

stream-uwp

Python Tools

This preview includes the Python development workload, which includes support for editing and debugging Python scripts and web sites, as well as iterative development using the interactive window.

python-tools

We want your feedback!

Go ahead and install Visual Studio Preview to start developing with the latest tools. Please keep in mind that Visual Studio Preview is for non-production development only. If you encounter any issues, please let us know using our Report-a-Problem tool to add or upvote an existing issue in our Developer Community. To make a suggestion or request to our engineering team, go to our UserVoice page.

daniel Daniel Jacobson, Program Manager for Visual Studio
@pmatmic

Daniel is a Program Manager on Visual Studio focused on tools for Universal Windows Platform developers and NuGet. He found his passion in software development after graduating with an M.S. in Mechanical Engineering from Case Western Reserve University in 2014.

Apply Now for Microsoft’s Go Mobile Tech Workshops

$
0
0

This is your opportunity to bring Microsoft engineering experts to discuss app development and architecture best practices with your team 1:1 

We’re excited to announce that the Microsoft engineering team is offering a limited number of technical sessions to help your team build better mobile apps faster. The Go Mobile Tech Workshops are 3 hour sessions dedicated to your team, covering everything from your technology stack and architecture to the latest in Visual Studio 2017, Azure, and DevOps best practices.  

Sign-up now

What’s in it for you

  • Dedicated time with Microsoft technical experts to help you analyze your technology stack and application development practices.
  • Common patterns, architectures, and best practices for mobile to help you go faster and avoid common pitfalls.
  • Q&A with the engineering team to address your technical questions.

Sample Agenda

gmt_agenda

Don’t miss out—apply for a workshop today!

Joseph Hill, Principal Director PM, Mobile Development Tools

Prior to joining Microsoft, Joseph was VP of Developer Relations and Co-Founder at Xamarin.  Joseph has been an active participant and contributor in the open source .NET developer community since 2003. In January 2008, Joseph began working with Miguel de Icaza as Product Manager for his Mono efforts, ultimately driving the product development and marketing efforts to launch Xamarin’s commercial products.

Become a Mobile Developer with Visual Studio 2017 and Xamarin University

$
0
0

Millions of developers around the world use the power of C# and .NET to deliver amazing apps. Whether you’re building for desktop with Windows Forms or UWP, or for the web with ASP.NET WebForms, or MVC, .NET’s flexible tools and frameworks help you ship software that solves almost any problem. In the mobile world, Visual Studio Tools for Xamarin enable .NET developers to easily apply their existing expertise to build, test, distribute, and monitor native apps for all the major connected platforms, including Android, iOS, UWP, tvOS, and more, all from Visual Studio 2017.

Our team of mobile experts at Xamarin University have taught thousands of developers—from experienced enterprise team leads to recent grads—how to expand their desktop and web development expertise to mobile. Now, we’re making it even easier to jumpstart your mobile development skills with flexible monthly subscription options.

Available immediately, you can sign up for Xamarin University from the Visual Studio Marketplace, which offers monthly payment options and the ability to use Azure subscriptions. Starting at $83.25 per month (less than $3 per day), you receive unlimited access to constantly updated curriculum, with topics such as C# for beginners, to classes covering the latest in navigation styles and controls for Android and iOS.

As a monthly subscriber, you can:

  • Select from 80+ virtual and on-demand classes and videos
  • Join live sessions across multiple time zones led by mobile experts and featuring hands-on labs and demos
  • Get advice, code reviews, and best practices for your projects during 1:1 Office Hours
  • Collaborate and learn from peers
  • Get certified as a Xamarin Mobile Certified Developer
  • Access exclusive on-demand videos from industry leaders covering the latest mobile topics and challenges, from new platform APIs to testing and deploying on physical devices

As you learn mobile best practices and UI design, our courses grow with you, offering intermediate and advanced classes on how to performance tune and test your apps, diagnose memory issues, and use a variety of design patterns and techniques to maximize code-sharing across Android, iOS, and UWP apps.

To get started today, visit the Visual Studio Marketplace and subscribe to Xamarin University to get immediate, unlimited access to courses, hands-on labs, 1:1 office hours, and more. If you haven’t had a chance to try Xamarin University, start your free 30-day trial today to experience everything Xamarin University has to offer. If you have any questions, we’re always available at training@xamarin.com.

Mark Smith, Principal Program Manager

Mark leads Xamarin University, where he helps developers learn how to utilize their .NET skills to build amazing mobile apps for Android, iOS, Windows and beyond. Prior to his career at Microsoft and Xamarin (acquired by Microsoft), Mark ran a consulting business, specializing in custom development
Viewing all 1039 articles
Browse latest View live


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