The post GitHub Copilot in Visual Studio: A Recap of 2023 appeared first on Visual Studio Blog.
]]>
Ever wish you could just take the code that your generative AI chatbot gives you and put it right in your editor? With the inline chat, you can interact with GitHub Copilot right within your editor! This feature allows you to refine your code within the editor, which is perfect for asking specific questions about your active file, and seeing diff views when GitHub Copilot gives you code suggestions.
To access the inline chat, you need an active GitHub Copilot subscription and the extension installed in Visual Studio 17.8 or higher. To access the inline chat, right click within the editor > Ask Copilot, or through the shortcut (Alt+/).
Learn more about inline code refinement here: Simplified Code Refinement and Debugging with GitHub Copilot Chat – Visual Studio Blog (microsoft.com)
Submit Feedback for Inline Chat
Being misunderstood is the worst! Slash commands allow you to clearly state your intention behind your prompt so that there are no misunderstandings with GitHub Copilot. When learning to use generative AI chatbots, it’s always frustrating when it doesn’t understand what you’re asking for. By using slash commands, they allow you to clearly state the intention behind your prompt so that there are no misunderstandings with Copilot.
Slash commands exist within the chat window. Type ‘/’ to pop open a list of commands that you can use to state your intent, such as “/explain” to explain code, “/doc” to document a method or file, and many more!
Learn more about available slash commands, and ways to create better prompts here: Tips & Tricks for GitHub Copilot Chat in Visual Studio – Visual Studio (Windows) | Microsoft Learn
Submit Feedback for Slash Commands
Ever wonder what GitHub Copilot is referencing when answering your questions? The context variables feature allows you to specify files from your solution in your questions by using the # symbol. When you reference a file, Copilot can access its content and provide specific answers related to it.
[TIP] Utilize our latest and greatest with #Solution to include the context of all the files in your open solution, allowing you to root your answers in it. Note: #Solution only supports C#.
Example: “What parts of this #Solution is designated to be a command line interface?”
For instance, you can ask questions like “How does the #Main.cs file work?” or “What is the purpose of the #Calculator.cs file?” Copilot Chat will then provide relevant answers based on the content of those files. This feature streamlines the process by eliminating the need for manual copying and pasting. Feel free to include multiple files in a single question for even greater efficiency!
Learn more about context variables here: Code Faster and Better with GitHub Copilot’s New Features: Slash Commands and Context Variables – Visual Studio Blog (microsoft.com)
Submit Feedback for Context Variables
With GitHub Copilot, failure and exception analysis has never been easier. This AI assisted feature helps the user in analyzing and fixing test failure due to failed test assumptions or exceptions that occur during test execution. This feature can be found in the Test Explorer and creates a discussion thread that allows you to interact with GitHub Copilot, providing you access to both explanations and code fixes. When a failed test is present, the “Ask Copilot” link will appear in the test failure summary explanation, allowing you to follow up with Copilot.
Submit Feedback for Test Explorer
Ever rattled your brain on why an exception occurred? Now, GitHub Copilot can be used to assist with exception analysis, helping developers understand why an exception occurred and suggests ways to resolve it. It collects relevant information about the exception, including its type, message, snippets of code from the stack trace, and local variable values. This data is then sent to Copilot for an initial analysis. Subsequently, users can engage in further conversation with Copilot to discuss the error and explore potential solutions.
Learn more about how to use this feature here: Debug with GitHub Copilot – Visual Studio (Windows) | Microsoft Learn
Submit Feedback for AI Assisted Exception Analysis
Auto insights flagged by the CPU Usage and Instrumentation profiler allows you to get insights on your code, typically related to a known problematic pattern. When presented with an auto insight, users can now use the “Ask Copilot” link to get more detailed information on the insight. GitHub Copilot takes the context from the insight and uses it to prompt Copilot again so you can get more information on the insight you’ve been given and ask follow up questions!
Learn more about how GitHub Copilot can help you debug here: Debug with GitHub Copilot – Visual Studio (Windows) | Microsoft Learn
Submit Feedback for Auto Insights in Profiling Tools
Have you ever grappled with naming a variable, method, or class? You’re not alone. This feature goes beyond mere name suggestions; it learns how your identifier is used and adapts to your code style, proposing identifiers that seamlessly integrate into your codebase.
To access this feature in Visual Studio, simply select any identifier, right-click, and choose “Rename” (Ctrl+R, Ctrl+R). Click on the rename suggestions button or use the Ctrl+Space shortcut. You’ll be presented with a list of naming suggestions tailored to the context of your code. Pick the name that resonates with you the most, and press Enter!
Learn more about AI-powered rename suggestions here: Naming Made Easy: AI-Powered Rename Suggestions – Visual Studio Blog (microsoft.com)
Submit Feedback for AI-Powered Rename Suggestions
After spending hours on a bug fix or a feature update, the last thing I would want to do is rack my brain to precisely explain the contents of my Git commit. Fortunately, Copilot offers a solution. Use the newly generated Git commit message feature to succinctly describe your set of changes and improve the quality and consistency of your commit messages, making your code easier to understand and maintain. You can then refine the message by adding the crucial ‘why’ behind the change before committing.
Use the new “Add AI Generated Commit Message” sparkle pen icon in the Git Changes window to generate a suggestion.
Find out more here: Write Your Git Commits with GitHub Copilot – Visual Studio Blog (microsoft.com)
Submit Feedback for AI-Generated Commit Messages
Breakpoint expressions can help developers debug their code more efficiently and effectively. However, finding the optimal breakpoint expressions can be challenging and time-consuming. That is why we use GitHub Copilot Chat in Visual Studio, an AI companion that can help us with IntelliSense for breakpoint expressions. GitHub Copilot can analyze our code and suggest the best breakpoint expressions for our debugging scenarios. What a great way to save time and effort!
This feature is aimed at users creating advanced breakpoints such as conditional breakpoints and trace points. Using the context of the code surrounding the breakpoint, GitHub Copilot suggests potential expressions to use for breakpoint conditions and logging statements. Note: IntelliSense breakpoint suggestions only support C#.
Submit Feedback for IntelliSense for Breakpoint Expressions
Deadlock can cause serious problems in your program and can be tedious to detect and resolve. With GitHub Copilot, deadlocks are demystified, and made much more obvious to the user by showing them in the Exception Helper. The exception helper will now include an “Ask Copilot” link, where Copilot takes the context of your code, along with the information that the Exception Helper has accrued and allows users to continue asking questions to Copilot about how they can resolve the deadlock.
Submit Feedback for Deadlock Analysis in AI
All of these features and more are now available on the recently released Visual Studio 17.9. So why wait? Install Copilot and Copilot Chat in Visual Studio today and experience the future of coding!
We appreciate the time you’ve spent reporting issues/suggestions and hope you continue to give us feedback when using Visual Studio on what you like and what we can improve.
Your feedback is critical to help us make Visual Studio the best tool it can be! 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.
The post GitHub Copilot in Visual Studio: A Recap of 2023 appeared first on Visual Studio Blog.
]]>The post Introducing Visual Studio 17.10 – Preview 2 is Here! appeared first on Visual Studio Blog.
]]>Browse this list of updates and let us know which of these enhancements is your favorite:
Area |
Features |
Productivity |
|
WinForms Designer |
|
SQL Server Developer Tools |
|
Extensibility |
|
Debugging and Diagnostics |
|
To explore the full list of improvements, you can read the Visual Studio 2022 17.10 Preview 2 Release Notes, and we always appreciate your feedback through Developer Community: report any bugs or problems via report a problem and share your ideas for new features or enhancements to existing ones.
We’ve heard awesome feedback on our generated Git commit message feature, so we wanted to continue saving you time and improving your collaborations by enabling GitHub Copilot-powered pull request descriptions. You can now generate a first draft for your pull request description driven by Copilot analysis of all the changes included in the pull request. You can also view it using the markdown preview. You’ll get assistance in providing important context to your colleagues for their reviews and get the added benefit of ensuring you’re including the right changes in your pull request.
To try it out, you’ll need to have an active GitHub Copilot subscription and the GitHub Copilot Chat Extension installed. You can click the sparkle pen icon within the Create a Pull Request window to see your description. Please share your feedback on this feature here.
Git history can be daunting to shuffle through, but it’s often the best way to learn about a code base or help identify the origin of a bug. We’ve added a GitHub Copilot powered explain feature to the Commit Details window to make it easier to understand the contents of each commit.
You’ll need an active GitHub Copilot subscription and the GitHub Copilot Chat Extension installed. Double click on any commit to open the Commit Details pane in the Git Repository window. Then, click on the “Explain Commit” icon to get a summary of the changes side by side with the code. We’ll continue improving this feature and encourage you to share your feedback on this update here.
Since code review is such an integral part to your collaboration workflow, we’ve been working hard on one of your highly request Git suggestions, pull request integration. You can now view your GitHub and Azure DevOps pull request comments directly in your working file in Visual Studio. You remain in your context, making necessary code changes and interacting with your colleagues’ suggestions, without switching contexts to the browser.
Enable the feature flag, “Pull Request Comments,” and checkout the pull request branch to get started:
You can navigate between files in the pull request and comments in the files using the toolbar.
We’d love to hear your feedback as we improve this feature, so let us know what you think. A known bug we’re already working on improving for the next release is skipping deleted files or special file types that you cannot open from Solution Explorer.
We’ve a long-standing request from developers like you asking us to bring support for additional text formatting options to the Visual Studio IDE. With the release of Visual Studio 17.10 Preview 2, we’ve brought Italics as well as strikethrough and underline options to the available options for configuring the way your code text is displayed.
To change your preferences for the way text appears in the IDE, use the “Fonts and Colors” page found in Tools > Options > Environment to select the “Display items” you’re interested in modifying. You’ll find the existing “Bold” checkbox in addition to three new checkboxes for “Italic”, “Strikethrough”, and “Underline”. The screenshot below shows these new checkboxes on the right side just above the text sample.
We’ve used the Fonts and Colors page to configure code comments in the code editor to show up Italicized. Note that you can customize other areas of the IDE by using the “Show settings for:” dropdown. Try it out and let us know what you think!
We are pleased to announce substantial performance improvements to the WinForms out-of-process designer. Notably, you’ll find performance gains during scenarios that trigger server process restart and designer reload, such as project rebuilds or adjustments in project references. These enhancements have yielded remarkable design time performance improvements, ranging from 30% to 50% in a typical line of business applications.
We encourage you to explore the updated designer and share your invaluable feedback through Developer Community site so that we can continue improving WinForms designer performance.
We are bringing support for SQL Server Developer Tools (SSDT) in Visual Studio on ARM64. Features like SQL Projects, schema compare, data compare, query editor, and table designer are now available. We are taking this initial action because of the strong demand expressed by the customers looking for SQL developer tooling support on Arm64 devices.
While this initial release has missing features, we’ll be resolving these gaps during this preview release cycle. Please provide feedback on the SSDT features that are most important to you on the Developer Community site.
In the previous 17.9 minor release, we announced the ability for the Visual Studio installer to load extensions that are specified in a *.vsconfig file. We’re building on this capability in Visual Studio 2022 version 17.10 by enabling you to use the Visual Studio installer to export Marketplace extensions into a *.vsconfig file that were previously loaded in a machine-wide context. This new feature is the next step in our evolution to support common extension operations (install, import, export, update, etc.) using the Visual Studio installer.
Please try out this feature and let us know what you think. You’re also welcome to submit any additional feedback, suggestions, or general upvotes in our Developer Community by using one of the existing tickets or by creating your own new one:
.NET applications can be instrumented using the System.Diagnostics.Metrics APIs to track important metrics relevant to your situation. The .NET Counter profiler in Visual Studio now introduces support for two of these innovative metrics:
In the following screenshot, “total-hats” illustrate an UpDown counter, while “orders-pending” demonstrates an ObservableCounter.
Moreover, we’ve implemented a filter flyout feature, enabling you to conveniently filter data points based on tags. This dynamically adjusts both summary and swimlane views according to the applied combinations.
This enhancement significantly improves flexibility, streamlining the monitoring of dynamic values in projects. For instance, in web application development, the UpDown counter can monitor user interactions such as page views, while the Observable Counter optimizes server resources by efficiently managing active session totals. Please share your suggestions for new features or improvements.
The Managed Memory window Insights tab now supports Garbage Collection (GC) Insights. This feature provides a deeper understanding of your application’s performance by shedding light on instances of induced GC. These instances are generally considered undesirable as they can impede the efficiency of your processes, since they involve manual intervention rather than allowing the Garbage Collector to autonomously manage memory allocation.
Furthermore, GC Insights offers the ability to analyze these occurrences with time estimates, allowing you to better comprehend the impact of induced GC on their application’s execution timeline.
We appreciate the time you’ve spent reporting issues and sharing your suggestions. We hope you continue to give us feedback when using Visual Studio on what you like and what we can improve. Your feedback is critical to help us make Visual Studio the best tool it can be! 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.
On behalf of the whole Visual Studio team, thanks for reading and Happy Coding!
The post Introducing Visual Studio 17.10 – Preview 2 is Here! appeared first on Visual Studio Blog.
]]>The post Visual Studio 2022 Version 17.9: A Comprehensive Update for C++ Developers appeared first on Visual Studio Blog.
]]>For Unreal Engine developers, the consistency and accuracy of IntelliSense has improved, and UE Blueprint references have been streamlined. For C++ cross-platform developers, you can now run unit tests on a remote Linux machine directly from Visual Studio and specify a custom CMake executable for your projects.
For all Visual Studio users, including those who work with C++, the new Visual Studio 2022 version 17.9 brings several enhancements. You can now take advantage of AI-generated Git commit messages, which assist in creating clear and relevant commit descriptions. Additionally, a secondary link has been introduced that allows you to open pull requests in a web browser, not just in Visual Studio. The Git Repository Window now features Responsive Git Ref Labels that adjust their content based on the available space, thereby facilitating easier repository navigation. Lastly, the new Multi Project Configuration allows you to set up profiles for specific projects within a multi-project solution.
For a detailed overview of the latest C++ features in Visual Studio version 17.9, refer to our announcement blog post.
We deeply appreciate your invaluable feedback, which has been shaping our product and guiding our efforts to enhance Visual Studio in alignment with your preferences. In the 17.9 release, we have addressed some of the most popular suggestion tickets from the Visual Studio Community, such as Memory Layout (92 votes) and Run C++ Unit Tests on Linux (90 votes).
We appreciate the time you’ve spent reporting issues/suggestions and hope you continue to give us feedback when using Visual Studio on what you like and what we can improve. Your feedback is critical to help us make Visual Studio the best tool it can be! 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.
The post Visual Studio 2022 Version 17.9: A Comprehensive Update for C++ Developers appeared first on Visual Studio Blog.
]]>The post Visual Studio Subscriptions – A Product Manager’s Journey appeared first on Visual Studio Blog.
]]>I was new to the Visual Studio Subscriptions team, so I was going to have to become very familiar with the headings and tiles in front of me. This was my product, and I was going to be the voice of the customer for our engineering team. Some of the tiles were easy to understand, so I downloaded a fresh copy of Visual Studio. As it installed, I took a walk down memory lane and I realized there was software as far back as MS-DOS and Windows 3.1. I may not have downloaded them, but it brought delight to know they were there. It helped to have a quick win in portal exploration.
As I returned to the benefits page, the victory so recently savored was replaced with the fear I held all along. I wasn’t a developer, and I did not know what most of the tiles meant. I knew Azure, so seeing a $150 monthly credit for learning and trying new things was exciting. This is where I admitted I was not sure what to learn or what to try. I earmarked that benefit as one I would certainly come back to when I had time. A year subscription to Code Magazine was also a thing of value, so I redeemed that benefit. I sat naively with the misguided thought that it would teach me how to dust off my atrophied coding skills. After that, I closed the portal to learn more about the tasks that would take up most of my days on the new team.
As many days do in the product management world, mine were gobbled away with learning about problems, interviewing customers, working with designers on new features, and prioritizing work for our engineering teams.
While I did return to the benefits portal often, I would visit with an explicit reason related to work as I was working on a new diamond icon in the Visual Studio IDE. While I was the PM tasked with helping people learn about the benefits available to them, I ended up leaving the portal with a familiar voice between my ears. “One day I would really dive into what was available if I only clicked those tiles.”
I grew weary of working around some of the most intelligent people I’ve ever met and still muttering the words, “Well, I am not a developer, but I think…”. See, I had said to others and myself a thousand times that I wanted to learn to code and use it to help tell data stories. Application ideas and dashboards danced through my mind when it came time to share project insights. I could see the vision of where I wanted to go but was not setting aside the time to learn how to get there.
When I returned to the benefits portal the next time, I viewed it with a sense of determination. I have told many people about the opportunities to learn through the included 6-month subscriptions to LinkedIn Learning and Pluralsight. Alas, I was not taking advantage of them myself. This was the day it was going to change! I found a learning pathway through Python for data science and pressed play. Then, I went back the next day to press play again. By default, I used VS Code at first. Only at first. While some may say using Visual Studio to write Python is overkill, I eventually figured out how to get it to run there too!
In all of this, I am not even close to expert status, but I am on the journey to earning that claim. Without the benefits available to me through a Visual Studio Subscription, I would still be talking about learning something new instead of doing something new.
Over time, I look forward to sharing more of what I am discovering in this process. I look forward to learning from the vibrant Visual Studio and Visual Studio Code communities and gabbing about a new extension or two when I am at a booth during //Build 2024. I look forward to both being present and understanding the world of the developer as I become one.
If you are prone to help someone out on the journey, I would love some tips and recommendations on what I should learn next. If you are a Visual Studio Subscriptions subscriber, what benefits do you use? What do you do with your Azure credits? You have always had the ear of a product manager eager to learn from you, but now you have the ear of a product manager learning how to be waterproof in your world. I’ve created a Developer Community suggestion to make certain the feedback is not lost.
If you aren’t a subscriber, would you like to join me on the journey through your own subscription? I hear it has some cool benefits.
The post Visual Studio Subscriptions – A Product Manager’s Journey appeared first on Visual Studio Blog.
]]>The post Code coverage features in Visual Studio Enterprise appeared first on Visual Studio Blog.
]]>These features are not available in Professional or Community editions of Visual Studio.
We now support additional formats for coverage reports. The formats that are supported are as follows:
A coverage report can also be changed to other formats that are supported. Example
We have changed how we merge reports. Now we combine projects in reports if they use the same source code. For example, if a project is targeting different frameworks, the merged report will have only one item for the project with the coverage data added together.
Visual Studio Enterprise 17.5 | Visual Studio Enterprise 17.9 |
See merge repots scenario for a full example.
Coverage report operations have become faster over time. With the latest version of Visual Studio Enterprise Version, report merging and opening is significantly faster.
The table shows how long it takes to open a report in different versions of Visual Studio.
Visual Studio Enterprise Version | Time (sec) | Ratio |
16.5 | 54 | 1.00 |
17.0 | 42 | 0.77 |
17.5 | 11 | 0.20 |
17.9 | 5 | 0.09 |
And for report merging
Visual Studio Enterprise Version | Time (sec) | Ratio |
17.0 | 47 | 1.00 |
17.5 | 42 | 0.89 |
17.9 | 6 | 0.12 |
New views have been added in the coverage window to view the coverage data in diverse ways. They provide different perspectives to visualize coverage data and improve developer’s experience.
We have introduced a new method of seeing coverage in the editor. Margin glyphs use solid rectangles in the margin to indicate covered lines, stripe rectangles to indicate partially covered lines, and open rectangles in the margin to indicate uncovered lines.
Line Coloring (default) | Margin Glyphs |
Visit example to turn on different code coverage coloring.
Source View displays coverage data based on directory/file structure rather than namespace/class/method structure. It merges coverage information at a file level.
It is helpful when you have C++ code and unit test projects are using static libraries. For project view, each unit test project shows coverage only for the code run in their own tests. But source view combines coverage run for all test projects.
Project View (default) | Source View |
See report type view for a complete sample.
Changeset report filters the coverage report and shows coverage statistics only for the changes made in current local git branch. It helps developers to identify coverage status of their own changes and improve code coverage of new code.
Full Report (default) | Changeset Report |
To see a complete example, look at the report content view.
Search has been added to the code coverage results window. You can search using different search parameters to filter your report. For example, show methods where block coverage is less than 80%.
To see more options, check out search examples.
You can use any combination of views together. For example, you can display only the methods that have less than 80% block coverage in your current branch. The coverage windows and the code editor will show the filtered results.
We are excited for you to use our new code coverage features. We believe that these features will help you in identifying and improving code coverage for your solution.
We appreciate the time you have spent reporting issues/suggestions and hope you continue to give us feedback when using Visual Studio on what you like and what we can improve. Your feedback is critical to help us make Visual Studio the best tool it can be! 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.
The post Code coverage features in Visual Studio Enterprise appeared first on Visual Studio Blog.
]]>The post WinForms Designer Selection for 32-bit .NET Framework Projects appeared first on Visual Studio Blog.
]]>Visual Studio 2022’s transition to a 64-bit architecture, driven by customer feedback across the full range of Visual Studio developers, marked a pivotal step towards enhancing the development experience. As Klaus Loffelmann describes in his blog post, this transition enhances overall performance and responsiveness, particularly when working with resource-intensive tasks and large codebases. However, this evolution brings with it a notable challenge for some .NET Framework projects using the Windows Forms designer in Visual Studio 2022. The challenge lies in the inability to design Forms in .NET Framework projects that rely on 32-bit references, a consequence of the inherent technical limitation where the 64-bit devenv.exe Visual Studio process cannot load 32-bit compiled references. This specific hurdle has emerged as a significant adoption blocker for users with Windows Forms .NET Framework projects that extensively leverage ActiveX/COM controls or other custom controls embedded in 32-bit assemblies. Until now, the workaround for such scenarios was to use Visual Studio 2019, where the Windows Forms designer operated as a 32-bit process, accommodating the specific needs of these projects.
Recognizing the limitations imposed by this shift, and its impact on our developers, we have been working hard on features to pave the way for designing legacy WinForms 32-bit .NET Framework applications in the latest Visual Studio environment. While these initial efforts will not comprehensively solve the entire problem space, our aim is to unblock customers and make the transition to a 64-bit Visual Studio 2022 smoother.
In the most recent Visual Studio 2022 release, v17.9, the WinForms team introduced a preview feature – the out-of-process designer support for .NET Framework projects. The ability to use our out-of-process designer for .NET Framework is currently in an early preview state, and we eagerly seek developers’ feedback to refine and improve its functionality. Notably, the Visual Studio 17.9 release brought forth crucial enhancements, including:
These additions signify our commitment to actively engage with the community, understand the intricacies of their projects, and steadily build features that pave the way for the best possible Visual Studio experience. We hope this approach will make it easier for developers to eventually migrate to .NET to gain all the benefits of a more modern platform without a complete rewrite of the user interface.
When the WinForms designer detects a 32-bit assembly load failure, it presents the following dialog which provides an option to select appropriate designer for the developer’s project:
By choosing ‘Yes,’ the project is reloaded, and the Windows Forms out-of-process designer comes into play. If the project is targeting x86, the designer initiates a 32-bit process to render the Form in the designer. The process is identified as ‘FxDesignToolsServer.exe.’ Within this process, control assemblies are loaded, and it executes the code in ‘InitializeComponent’ method aligned with the specified framework.
On selecting ‘No,’ the project will continue to use in-process designer, although you still won’t be able to design forms referencing 32-bit components simply because 32-bit binaries cannot be loaded in a 64-bit process.
With ‘Yes/No’ buttons, the designer selection will remember this setting for the current Visual Studio instance only. To add the designer selection as a project configuration property automatically, enable the option ‘Remember for current project.’ It will add the ‘UseWinFormsOutOfProcDesigner’ property to each project configuration. The WinForms Designer will read this property value to select the desired Designer version (In-Process or Out-Of-Process) automatically the next time project is open in Visual Studio. Here is a sample project configuration after adding this property:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\Debug\</OutputPath>
<UseWinFormsOutOfProcDesigner>True</UseWinFormsOutOfProcDesigner>
</PropertyGroup>
Note that the Designer Selection feature is currently under the following preview feature flag which is enabled by default in Visual Studio 2022 17.9:
You can enable or disable the feature in Visual Studio under Tools -> Options -> Preview Features.
The below InfoBar will show up when you use out-of-process designer for .NET Framework projects:
In contrast to the in-process designer which loads all assemblies related to third-party controls into the Visual Studio process, the out-of-process designer needs to be pickier; it loads design-time assemblies either into a dedicated server process or into the client Visual Studio process. This distinction in assembly loading is necessary because of the client-server architecture of the out-of-process designer and as a result, third-party control vendors need to use the new designer SDK for providing controls for out-of-process designer. Note that creating different design time assemblies for client and server processes is not necessary to support simple scenarios but it is required for more advanced scenarios. Learn more about it here. As a result, the out-of-process designer for .NET Framework projects will not be able to handle all third-party controls designed for an in-process design environment. If it encounters such a control, there is a possibility that this will simply omit code related to controls the designer cannot render. Hence, we recommend that you create a backup of your project beforehand.
Side Note: You may find that there is a significant difference in the code generated in ‘InitializeComponent’ method in .NET Framework projects that are using the new SDK-style project files as compared to the older legacy csproj files. This is because the out-of-process designer, when it encounters SDK-style projects, utilizes Roslyn behind the scenes for code generation rather than the older CodeModel technology. Learn more about this feature here. In the long run, this is a big win for your code and supports future multi-targeting and migration paths. There may be minor tweaks in the code generated for those legacy csproj style projects, but these would be much less significant and would work just fine should the same project be opened in VS 2019.
As mentioned earlier in this blog, we plan to add support for the following features in out-of-process designer in upcoming Visual Studio releases:
This feature is not intended to make the transition to Visual Studio 2022 action-free on the part of developers of WinForms .NET Framework applications that use legacy 32-bit components in their code. The development landscape has changed dramatically since many of these legacy components were created. Many of them do not meet today’s standards for code-security, for example. The Designer Selection Feature, and the related support for .NET Framework WinForms applications in the out-of-process designer is intended to be a short-term bridge to a final solution for your applications. In the long run, applications that are currently using 32-bit components have two potential options: either upgrade the component to something AnyCPU or 64-bit, or preferably, upgrade your application to .NET 8 and beyond. The .NET 8 platform has full support for 32-bit COM and ActiveX controls in WinForms applications. There is also a robust 3rd party control vendor ecosystem that is growing every day.
To find out more about the strategy WinForms is taking with 32-bit components, see Klaus Loffelmann and Merrie McGaw’s recent blog: WinForms in a 64-Bit world – our strategy going forward.
We appreciate the time you’ve spent reporting issues/suggestions and hope you continue to give us feedback when using Visual Studio on what you like and what we can improve. Your feedback is critical to help us make Visual Studio the best tool it can be! 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.
The post WinForms Designer Selection for 32-bit .NET Framework Projects appeared first on Visual Studio Blog.
]]>The post Visual Studio’s Full Year in Review (2023) appeared first on Visual Studio Blog.
]]>For more details, you can check out the links to the original blog posts and the Developer Community suggestions that inspired these features. Thank you for being a part of the Visual Studio family!
All of these features and more are now available on the recently released Visual Studio 17.9
Jessie Houghton discusses A year of making you more productive using Git in Visual Studio
Nayana Srikanth improves performance Visual Studio Performance Highlights Delivered in 2023
Nayana has been making performance enhancements since 17.5 which include: Build acceleration for .NET SDK style projects, External Sources De-compilation, Code Coverage, Solution open/close, Git improvements, F5 speed, Solution Explorer and more!
Mads Kristensen actively discusses 2023 – a year of community experiments
Mads focuses on making quality of life improvements for developers from community feedback. He explores ideas like differentiating Visual Studio instances, comparing files in Visual Studio, staying up to date with Developer News, the ability to scroll document tabs, my favorite, seeing an Image preview via hover and more! If you like these conversations, follow Mads on X(Twitter).
Leah Tran can teach you about all the Visual Studio productivity features in 2023
Sy Brand goes in-depth about A Year of C++ Improvements in Visual Studio
Sy makes it easy to explore Cross-Platform enhancements, Productivity improvements, Game Development upgrades, IDE Performance, Toolchain components, and learn about vcpkg. There is a ton of work being done in this space, if you are a C++ developer you should check it out.
Harshada Hole In the Debugger’s Spotlight: A Year in Review
Harshada focuses on Boosting inner-loop productivity, making External Sources Smarter and Faster, improving Cross-Platform debugging support and of course Performance Upgrades.
James Montemagno pulls out his Top 10 NEW Visual Studio Features of 2023 for .NET Developers
James is focusing on the future with features like Dev Tunnels, GitHub Copilot which has a free trial, and GitHub Copilot Chat. He also dives into the Git and PR improvements integrated into Visual Studio, the new Accessibility Checker, .NET Aspire Orchestrator, the UI Refresh and the C# Dev Kit for Visual Studio Code.
Harshada Hole takes A Look Back: Visual Studio’s Profiling Tool Advancements in 2023
Harshada is also focused on booting your productivity with improved instrumentation tools, bringing enhancements across profiling tools, improving test profiling, and of course improving profiling tools performance.
David Li looks at A Year of C++ Game Development Improvements in Visual Studio 2022
David highlights impressive work done to improve Unreal Engine Integrations. He also mentions some impactful time savers and quality of life improvements like sticky scroll, the new spell checker, size alignment of types, and much more. Finally, he concludes with enhancements to debugging, performance and Cross-Platform Development. Check out the full blog!
All of these features and more are now available on the recently released Visual Studio 17.9
We appreciate the time you spend reporting issues/suggestions and hope you continue to give us feedback when using Visual Studio on what you like and what we can improve. Your feedback is critical to help us make Visual Studio the best tool it can be! 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.
The post Visual Studio’s Full Year in Review (2023) appeared first on Visual Studio Blog.
]]>The post A Year of C++ Game Development Improvements in Visual Studio appeared first on Visual Studio Blog.
]]>The Unreal Engine integrations are where my eyes jumped to first. There is now an Unreal Engine log viewer, macro auto-formatter, naming convention checker, blueprint reference and asset inspector, test adaptor, and more, directly in Visual Studio. There is also an exciting image watch extension for UE projects that helps you view in-memory bitmaps while debugging C++ code.
I was also happy to see some nice quality of life improvements like sticky scroll, brace pair colorization, the new spell checker, size alignment of types, and copy/paste with correct indentation to name a few. There were also some major productivity improvers such as all-in-one search, memory layout visualization, include cleanup, HLSL support, and the file comparison window.
David sheds light on work being done to further improve debugging, performance and cross platform development as well. Go check out David’s full blog post to learn more about the advancements being made in Visual Studio for game developers. Together, let’s continue to push the boundaries of what’s possible for game development and empower creators to turn their dreams into reality.
All of these features and more are now available on the recently released Visual Studio 17.9
Thank you for providing feedback to help build these features. Please continue sharing feedback on Twitter (@VisualC) or through tickets on Developer Community.
Happy coding!
The post A Year of C++ Game Development Improvements in Visual Studio appeared first on Visual Studio Blog.
]]>The post Using Copilot Chat with C++ in Visual Studio: Generate code, fix functions, and more.. appeared first on Visual Studio Blog.
]]>You can read more details as we walk through an example C++ repo here in our C++ team blog post.
To learn more about accessing GitHub Copilot Chat in Visual Studio, please view these instructions. You will need a subscription to GitHub Copilot for Individuals or GitHub Copilot for Business.
Stay tuned as we will delve into other C++-related topics with Copilot Chat and let us know what else you’d like to see added to Copilot Chat regarding your C++ workflows in the comments!
Your feedback is critical to help us make Visual Studio the best tool it can be! 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.
The post Using Copilot Chat with C++ in Visual Studio: Generate code, fix functions, and more.. appeared first on Visual Studio Blog.
]]>The post A Streamlined Extension Manager comes to Visual Studio 17.9 appeared first on Visual Studio Blog.
]]>
This design is all about maximizing space for the content you care about when searching for extensions. In addition to the refreshed UI for the list of extensions in your search results, we now include a large window showing the detailed description for the selected extension.
If you want to filter the search results by category, use the filter icon in the toolbar to show the category and subcategory dropdown menus. You can use the filters to search specifically for coding tools, for example, or to only show C# templates.
The new Extension Manager is available for all users starting with Visual Studio 17.9, which is available today!
To get access to the updated design, enable the preview feature by clicking on Tools > Manage Preview Features and making sure that the box for the feature called Extension Manager UI Refresh (requires restart) is checked. After you restart Visual Studio, you’ll find the new Extension Manager at Extensions > Manage Extensions.
As mentioned above, we can’t bring you the best features without your help, so please share your thoughts and feedback with us on this ticket on Developer Community! Also, if you try the new design for a while and decide you want or need to return to the original design, we’d love to hear from you about what’s missing or how we can improve.
If you run into any bugs or issues, please report them so we can prioritize fixing them.
The post A Streamlined Extension Manager comes to Visual Studio 17.9 appeared first on Visual Studio Blog.
]]>