Introducing Visual Studio 17.10 – Preview 1 is Here!

Mark Downie

We’re excited to introduce the first preview of Visual Studio 17.10! This is where we get to show you what we’ve been working on and what we’re planning, and with feedback from the most active developer community on the planet, we get to deliver truly compelling products.

During this release you’ll get to check out our latest enhancements and features designed to meet your productivity and game development needs. We’re especially eager to share the most recent updates to the GitHub Copilot Chat extension for Visual Studio. The preview is a great opportunity to dive into the exciting features we are building, and experience faster and smarter coding with GitHub Copilot.

Here are some of the major areas we’ve focused on in this release:

Area
Enhancements
Productivity
  • GitHub Copilot Chat (requires the latest version of the extension)
  • Customize settings with a new, modern experience with Unified Settings (🙏🏾Community Suggestions)
  • Updates to generated Git Commit Messages (🙏🏾 Community Suggestions)
  • Linking work items to pull requests (🙏🏾 Community Suggestions)
  • Updates will now include recommended components
Debugging & Diagnostics
  • Attach to Process Dialog Revamp
  • Enhancing Debugging with Conditional Breakpoints and Tracepoints
  • Targeted Instrumentation for EXE
  • Simplifying memory usage investigations with the Memory Tool
C++ and Game Dev
  • Pinning CMake Targets
  • Build Insights Template View
  • Additional Unreal Engine Macros for Indentation
  • Keep Integration Tool Plugin Running in the Background
Teams and Microsoft 365 Dev
  • Build Teams Bot powered with AI
  • Run and debug Teams Bot offline
  • Extend Copilot for Microsoft 365

We are thrilled to present some of our team’s favorite features in this release. Take a moment to discover these highlights and feel free to share your feedback on this blog post to help us refine the experience before it reaches General Availability (GA). For a comprehensive overview of all the improvements, you can consult the 17.10 Preview 1 release notes.

Productivity Enhancements

GitHub Copilot Chat

Enhance your coding experience with GitHub Copilot Chat in Visual Studio! Copilot Chat, you have an AI-powered chat experience right within your IDE. Whether you need help with syntax, programming concepts, context-specific code help, test cases, or debugging, Copilot Chat is here to assist you. To get started with these features in 17.10 please update to the latest version of the Copilot Chat extension.

Contextual Understanding

Copilot Chat isn’t just a chatbot; it’s a coding companion that understands your code. Integrated with Visual Studio, it gathers useful information from your project to provide answers that make sense in your current development context.

Image 17 10P1 github copilot chat2

Slash Commands for Common Tasks

Speed up your workflow with slash commands. Set your intent quickly for common development tasks and get better answers without having to write out long questions.

Image 17 10P1 github copilot slashcommands2

Inline Chat

Experience seamless coding with the inline chat feature! Interact directly with Copilot within your file, receive coding solutions, and view a diff comparison, all while staying within your flow.

Image 17 10P1 github copilot inlinechat2

Join the community of developers enhancing their productivity and creativity with GitHub Copilot Chat!

Start your journey with GitHub Copilot Chat by reading this quick guide.

Customize settings with a new, modern experience with Unified Settings

We’ve been working on reimagining the experience of customizing settings in Visual Studio. Starting with today’s preview, you’ll be able to try out an early preview of a new settings experience that aims to make it easier than ever before for you to configure, share, and store your customized settings.

Image 17 10P1 unified settings

The new experience gives you more room for configuring settings, the ability to customize them at both the user (Visual Studio install) and open solution/folder level, enhanced settings search capabilities, JSON-based storage of your settings, and more.

We’ve also added a reset to default action in the gear menu for each setting along with an easy way for you to share feedback with us on settings via a “Send Feedback” feature. If you’ve ever thought a setting was confusing, didn’t work as expected, is inaccurate, or needs a description, you can quickly share feedback with us directly from the setting in question.

Image 17 10P1 unified settings restart

To try the new settings experience, navigate to Tools > Options > Environment > Preview Features and enable the “Unified Settings Experience” checkbox or use Tools > Options Experience menu flyout to switch from “Classic” to “Preview”, then restart Visual Studio. You can also enable it from the top of this window to the right of the “A new, modern experience for managing settings” text.

This feature is still in active development, and we still have a long journey ahead of us. While all settings pages haven’t been migrated from the existing experience to the Unified Settings experience, you’ll still be able to manage them as Unified Settings will link over to the old UI.

Moving forward, we’ll continue refining and building the overall experience and feature set of Unified Settings alongside migrating additional settings pages. Your feedback will be invaluable in helping us prioritize which pages we migrate next. In addition to which pages you’d like to see migrated next, please share your overall impressions, how we can improve it, and any additional feedback you may have on this experience via Developer Community!

Updates to generated Git Commit Messages

Based on your feedback, we’ve streamlined the output from our AI-generated Git commit message feature. Share feedback on this change on the ticket in Developer Community.

Image 17 10P1 git generated commit messages

Linking work items to pull requests

The number one request from Azure DevOps users when creating a pull request in Visual Studio was enabling work item linking. Now, you can use the Related Work Item section to view any work items you referenced in your pull request description and link work items to your pull request on Azure DevOps.

Image 17 10P1 git linking work items prs

Visual Studio offers a diverse array of tools and features for your coding tasks. As new technologies emerge, we integrate new components to enhance your software development experience. Some of these components will be recommended additions to the workloads you’ve already installed. So, to streamline your update experience, starting with 17.10 P1, Visual Studio will automatically install these new recommended components when you update Visual Studio.

You can modify this setting in the Update Settings Dialog:

Image 17 10P1 recommended components

For the list of all components in Visual Studio, including recommended components, see Visual Studio Build Tools workload and component IDs | Microsoft Learn.

Debugging and Diagnostics

Enhancing Debugging with Conditional Breakpoints and Tracepoints.

This update introduces an easier way to manage your debugging workflow. With the addition of “Insert Conditional Breakpoint” and “Insert Tracepoint” options, you’re now equipped to create breakpoints and tracepoints directly from expressions. This allows for a more straightforward setup of breakpoints using property or field names alongside their values, whether from autos, locals, watch windows, or DataTips. It’s designed to simplify the debugging process, especially when dealing with complex expressions, enhancing productivity significantly.

Image 17 10P1 debugging breakpoint tracepoints

Simplifying memory usage investigations with the Memory Tool

The new “Hot Path to Root” feature improves memory analysis by finding the most likely path to the root for calculating an object’s total size. It transforms the heap graph into a tree, using shortcuts like prioritizing the shortest path and avoiding cycling paths to actual roots.

Known as the ‘Hot Path to Root’, this feature makes an excellent starting point for memory investigations within the Memory Usage tool’s reference graph.

Image 17 10P1 debugging memory hot path root

Targeted Instrumentation for EXE

The Performance Profiler’s Instrumentation Tool now supports targeted profiling for any executable (exe) file. Once you select an exe file as your profiling target and initiate the instrumentation tool, a targeted instrumentation dialog appears, like what you’d encounter during startup project profiling. This enhancement facilitates a focused analysis of performance metrics for specific executables. You can also expand your profiling scope by including additional Dynamic Link Libraries (DLLs) via the ‘Add Item’ button, enhancing the examination of application performance.

Image 17 10P1 profiling targeted instrumentation exe

Attach to Process Dialog Revamp

The Attach to Process dialog in Visual Studio has undergone significant enhancements to improve functionality and the user experience. These updates include seamless integration with Visual Studio themes, a more compact view that optimizes vertical space usage by employing tooltips for connection type information, and setting “Local” connection as the default option for faster access.

You can now easily switch between tree and list views using tabs, organize processes more efficiently with collapsible child processes in the tree view, and select code types via a simplified combo box interface. Moreover, the “Select/Track Window” feature is now easier to use, allowing two- way tracking, selecting a process highlights its window, and clicking on a window selects its process. These enhancements collectively enhance the efficiency and usability of the Attach to Process dialog, enhancing the debugging experience within Visual Studio.

Before:

Image 17 10P1 debugging attach to process old

After:

Image 17 10P1 debugging attach to process revamp

C++ and Game Dev

Pinning CMake Targets

We have added support for pinning CMake targets. There is a top-level folder in the view now for Pinned Targets. You can pin any targets by right-clicking and selecting the Pin option in the context menu.

Image 17 10P1 C pinning cmake

Build Insights Template View

You can now use Build Insights to view your template instantiation information. Template instantiation collection must be activated in Tools > Options > Build Insights.

Image 17 10P1TemplateInstantiation

Additional Unreal Engine Macros for Indentation

We have added additional Unreal Engine Macros to be indented in accordance with the UE Code Style.

Keep Visual Studio Integration Tool Plugin Running in the Background

You can now keep our Unreal Engine plugin needed for Unreal Engine Test Adapter running in the background, greatly reducing startup costs. This is an opt-in feature that can be activated via Tools > Options > Unreal Engine.

Teams and Microsoft 365 Dev

Teams Toolkit for Visual Studio is the best tool for you to build, test, deploy and preview Teams apps from scratch using the Microsoft Teams App project template based on C# and Blazor. Now Teams Toolkit supports developers looking to build apps for Microsoft 365 as well. To use Teams Toolkit for Visual Studio, ensure that you have selected the Microsoft Teams Development Tool component in the .NET workload from the Visual Studio installer.

Build Teams Bot powered with AI

If you want to build a Teams bot with intelligent capability, you can use the Teams AI Library to simplify the integration of AI services into your Teams app. For example, you can create a bot that uses OpenAI or Azure OpenAI to generate natural language responses based on the user’s input and context in an engaging way. It’s now easier to get started building these types of bots using the new AI Chat Bot template.

Image 17 10P1 build teams bot powered with AI

Building intelligent chat bots is even simpler now using the AI Assistant Bot project template. Selecting this template creates a new project that uses the Teams AI Library to simplify connecting your Teams bot to the OpenAI Assistants API to build engaging conversational experiences – to try this new template, opt-in by selecting Tools > Options > Preview Features > Teams Toolkit: Develop Copilot Plugin.

Image 17 10P1 build teams bot powered with AI2

Run and debug Teams Bot offline

Building and testing bots can be challenging or impossible when uploading custom apps is disabled or you can’t create a networking tunnel to start debugging. This release includes new features that make it simpler to run and debug your bot apps in a locally hosted web tool that includes ways to test common Teams activities and interactions. Selecting the Teams App Test Tool debug target will launch your bot in a new web browser session using this tool without the need for an account or networking tunnel.

Image 17 10P1 run debug teams bot offline

Extend Copilot for Microsoft 365

This release includes a new project template and features that help you extend Microsoft 365 Copilot. To try these features, opt-in by selecting Tools > Options > Preview Features > Teams Toolkit: Develop Copilot Plugin.

After enabling the preview features and restarting Visual Studio, create a new project and select Microsoft Teams App > Custom Search Results.

Image 17 10P1 build extend copilot for M365 2

Share your feedback and stay connected with Visual Studio!

Thank you for taking the time to share your feedback with us! We value your input and encourage you to keep providing suggestions and reporting any issues you encounter while using Visual Studio. Your insights are essential in our ongoing efforts to enhance and refine Visual Studio, making it the best possible tool for developers like you! You can share feedback with us via Developer Community: report any bugs or issues via report a problem and share your suggestions for new features or improvements to existing ones.

Stay connected with the Visual Studio team by following us on YouTube, Twitter, LinkedIn, Twitch and on Microsoft Learn.

From the entire Visual Studio team, thank you for reading and Happy Coding!

20 comments

Discussion is closed. Login to edit/delete existing comments.

  • Michael Taylor 14

    Sorry but I absolutely disagree with the “auto install of recommended components” being on by default. This is a mistake and seems like a marketing way of getting new stuff installed to advertise MS products and not a useful feature for those who don’t care. This feature should be off by default. The most you should do for an update is let me see recommended new components. Problems I have with this:

    – Unless I find the well hidden update settings (or if using an automated install and knowing to update my automation) then it will auto-install new stuff that I didn’t ask for.
    – As VS goes through more versions and recommends “new” stuff then my install base will grow ever larger unless I take the time to remove the recommended features.
    – It is possible that by installing a component that I didn’t intend to have installed that it messes up my otherwise properly configured build system and/or makes system changes that cause other dev tools to break. There will be no easy way to tell what broke things.
    – “Recommended” is a subjective topic. The team that wrote it might find it important as might sales who can get more people to buy into a service. But what about third-party products? Can they “encourage” MS to include them as a recommended component? I’m fine seeing a list of “recommended” stuff but it shouldn’t be auto-installed.
    – May install workloads/components that it depends on that I don’t actually want or need. Does it look at what I have already and recommend from there or does it just blindly recommend? For example I see Aspire as a recommendation but that requires ASP.NET workload (which is huge) but I only do C++ development. I don’t want these extra workloads.
    – May introduce security risks that I’m not aware of. Suppose a recommendation requires that I have Java installed and it auto-installs Java for me. Now my infrastructure team that does asset management will determine that I need to keep Java updated even though I don’t use it myself.

    This is just a bad decision. I have already gone into the 3 installations of VS I have and disabled this option (because it shows up for VS 2019 as well even though it is only listed for VS 2022) but now I have to tell my whole team to do the same thing.

    • David Lowndes 4

      I have the same fears as Michael. Please reconsider this.

    • Dean Jackson 5

      I agree that this should not be on by default. VS already has plenty of small gotchas just waiting for you with each update, because only major changes are mentioned, not the many small things that can catch you off guard (like the default file encoding for some types having been changed).
      Plus, the word “recommended” to me means a recommendation, not something that will be done.

    • Stevie White 3

      I am going to have to agree with Michael here. This is not a good idea, IMO. MSFT, please reconsider it.

    • Sayyeda MussaMicrosoft employee 1

      Hi Michael! Thank you for taking the time to share your concerns. Here’s some context for this feature. We do not recommend any workloads other than the core IDE, which is required for Visual Studio. When users select a workload to install, we recommend components that are likely important to successful use of that workload. Additionally, beginning with Visual Studio 2017 we have enhanced Visual Studio within the major version to improve productivity and development capability. Sometimes these new features are in existing components, and sometimes they are in new components. As most customers update Visual Studio from minor version to minor version, when we add a new recommended component, these users would not receive the new feature unless they modify their installation. We install recommended components only for workloads you’ve chosen to install. So, installing recommended components during updates helps to streamline the process, ensuring users have access to the latest components.

      If you do not want to make use of this feature, it can be deselected in the Update Setting dialog. And if you decide that a recommended component is no longer needed, you can remove it by modifying your installation.

      • Richard Deeming 2

        Except it’s not available to “deselect in the update settings dialog” until you’ve already upgraded to the version that auto-installs stuff you didn’t want.

        And saying “it’s OK, you can always uninstall it again later” does NOT address the concerns in any way!

        Sorry, but this is a tone-deaf response that completely ignores the concerns raised in the comment you’re replying to, and the numerous other replies.

      • Paulo Pinto 1

        To this day uninstalling VS stuff always leaves system stuff installed by VS behind in the system.

        Between Java, Android, UNIX and Apple ecosystem IDEs, Visual Studio is the only IDE that touches all the system instead of perfectly being confined to its installation directory.

        Meaning a proper clean installation of VS tends to require a full OS installation, and a reason why many of us use VMs for Windows development with snapshots.

        Hence why we tend to be so touchy when this kind of options come to be, enabled by default.

      • anonymous 0

        this comment has been deleted.

    • Pavol Mišík 1

      The other bad thing is that said feature cannot be turned off before the update.
      If you want to make sure that you only have the components you really want installed, you have to export the settings before upgrading, apply the update, export the settings, do a diff and then uninstall the individual components that were added against your will.

      For some development teams/cases/environments it is simply inappropriate/unacceptable to change the setup of the development machine without their knowledge. We install them without the `–includeRecommended` commandline switch. Now this is what they’re going to break.

      I think a blogpost is not the appropriate place to convince Microsoft to reconsider this setting change and migrating it correctly.
      I think a reported bug is better place.

      If the feature actually makes it to the released version, then the increasing number of upvotes will show how many more people this feature has angered (especially those who do not install the preview).

      Michael Taylor, have you created (or are you planning to create) a bug report on https://developercommunity.visualstudio.com
      Can you please share the link?
      So that it can be easily upvoted.

      • Michael Taylor 4

        I have not created a feature request nor do I intend to. In all the years I’ve reported bugs and requested features I’ve never once had a suggestion actually implemented unless it was already on MS radar. Bugs are almost always closed as “not our problem” or “not enough people impacted” and sometimes that can be years later. Developer Community is just a PR stunt in my opinion. It takes longer to write one then I’m sure it takes MS to “review” and ignore it.

        • Richard Deeming 0

          Not to mention the flood of spam currently filling the “newest” requests. It’s as if Microsoft don’t have any kind of spam-filtering solution available to them!

      • Pavol Mišík 0

        I think the above feature is even misrepresented in this blog. This is not a Visual Studio feature but a Visual Studio Installer feature that is common to all already installed Visual Studio on a particular machine. The moment you install the above update, it is applied to all already installed Visual Studios.

  • Jan Ringoš 1

    Putting all the work into full revamp of the Attach to Process Dialog is very nice, but have you considered just simply making the Batch Build Dialog finally resizable …like people have been asking for for more than 4 years now? You’ll be able to close dozens of feedback requests at once if you do.

  • Boris Drajer 3

    I’d rather there were a stable version of Visual Studio with only bugfixes, nice as these improvements are… I try using VS 2022 from time to time and when it crashes or doesn’t work, I go back to VS 2019. VS 2019 was never fully stable either and regularly surprises us with bugs never before seen (like yesterday, when breakpoints on background threads stopped working?!) but seems a bit better than VS 2022.

  • Paulo Pinto 1

    Still looking to the day C++/WinRT and COM tooling improvement to make up for C++/CX deprecation in 2015 makes up the list, however I guess due to the ongoing security concerns, improving C++ dev experience beyond Unreal and WSL isn’t a priority at all.

  • Рома Шибалов 0

    Really annoying bug: Hovering “…” of hidden method body and BOOM, visual studio is gone, can’t even close it! Fix please!

  • Cyprian Okpalaku 0

    I dont know why when I build windows app and I run on my system it displays fine. But when i take to a smaller screen it hide some areas.
    But I used vs 2008 it displays normal.
    Please what is really causing this?

Feedback usabilla icon