Also Known As: banshee_revora (Steam) Joined: 15 Aug 2002 Location: Brazil
Posted: Thu Feb 15, 2024 3:16 am Post subject:
Visual Studio 2022 17.9 Now Available
Subject description: For those who are lazy to write GIT commit messages, we salute you!
Welcome back, commander! A new version of Visual Studio, known as Visual Studio 2022 17.9, has been released as we speak by Microsoft. For your information, Visual Studio is one of the most famous commercial code editors that supports several programming languages, multiple tabs, plugins, etc. It runs on Windows and macOS. Visual Studio comes with several editions, and the Community Edition is free for personal use and for companies with up to 5 users/devices. Here is what we know about Visual Studio 2022 17.9 as posted on their blog:
Quote:
Welcome to Visual Studio 2022 17.9! This release comes with more capabilities and improvements that enhance productivity for you and your team, such as AI assistance and better extensibility. Plus, we’re always improving core productivity and performance! We’ve included suggestions from you in the community and are publishing more about our backlogs in our release notes and roadmap.
From AI-powered Git commit messages and enhanced C++ game development tools to .NET/C# advancements and responsive project management capabilities, this release caters to a wide array of you and your team’s development needs.
Dive into a more efficient development experience with Visual Studio 2022 17.9 and unlock your potential to create, collaborate, and innovate more effectively.
Here are some of the major areas we’ve focused on in this release:
Productivity AI Generated Git commit messages
One of the things I always struggle with is coming up with descriptive Git commit messages for whatever changes I’ve made in my local repo. The newly generated commit message feature is designed to assist you in succinctly describing your changes, ensuring clarity and relevance in your c![endif]-->
To get started, ensure you have an active GitHub Copilot subscription along with the GitHub Copilot Chat Extension installed. Simply click the ‘Add AI-Generated Commit Message’ sparkle pen icon within the Git Changes window for a suggested commit message. GitHub Copilot analyzes your commit’s file changes, provides a summary, and then offers a descriptive message for each change. Choose to ‘Insert AI Suggestion’ or ‘Discard’ based on your preference. We welcome your feedback on this feature at this link.
Open a Pull Request in Visual Studio or the browser
To support GitHub and Azure DevOps users who prefer to use the browser view for creating pull requests, we’ve added a secondary link to help maintain your workflow.
Event Handler Leaks insights
Finding memory leaks is one of the more challenging parts of developing your app. Now, the Managed Memory Insights tab can detect “Event Handler Leaks,” which can happen when one object subscribes to another object’s events. If the event publisher lives longer than the event subscriber, the subscriber remains in memory, even when there are no other references to it. This can cause memory leaks and the application will use more memory over time without releasing unused memory properly.
Instrumentation tool “Start with collection pause” option
The Instrumentation tool now has a “start-pause” option for profiling applications. This lets you start the app under the profiler’s control without immediately collecting data. You can resume data collection later when needed by hitting the record button. This is useful, especially in gaming, where you can get into the game before data collection starts. The feature is compatible with both native and managed projects.
Switch between single and multiple rows in the document well
You can now quickly switch between single and multiple tab rows in Visual Studio’s document well by scrolling the mouse wheel up or down. The first time you open more tabs in Visual Studio that can fit in a single row in the document well, you’ll see a tip letting you know of this new feature.
Scrolling down on the mouse wheel while hovering over the tabs in the document well will shift your view to show multiple tab rows. Conversely, scrolling up on the mouse wheel will collapse the view down to a single tab row.
Non-modal Debug Visualizers
Debug Visualizers are now non-modal, allowing concurrent interaction with the Editor while the visualizer window is active. It is possible to have multiple types of visualizers open simultaneously, and you have the flexibility to choose whether to float or dock your visualizer window.
Responsive Local History labels in the Git Repository window
Your branch and tag labels now resize responsively to make it easier to see which branches you’re looking at in the Git graph.
Multi-project configuration
Now, you can easily set up and save profiles for launching specific projects within a multi-project solution for streamlined debugging. Simplify working with complex solutions, enhance debugging efficiency, and effortlessly share configurations with your team.
Multi-folder open support
Auto Surround with Quotes or Brackets
You can now easily surround a selection with bracket delimiters including: “double quotes”, ‘single quotes’, and (parentheses).
To enable or disable this feature, go to Tools > Options > Text Editor and check the “Automatically surround selections when typing quotes or brackets” option.
C++ and Game Dev Streamlined Unreal Engine Blueprints references
Available gradually over the upcoming weeks, you will no longer need the Visual Studio Unreal Engine plugin to see Blueprint References, and Visual Studio will now display CodeLens hints with reduced latency and use fewer machine resources. Additionally, we have added support for including usages of UFUNCTIONs outside of the class hierarchy directly in the CodeLens results. We will cache your results from previous scans and only process new or modified assets since the last scan.
Improved IntelliSense for Unreal Engine projects
<span>Unreal Engine uses its own reflection mechanism to connect</span> the worlds of C++ and Blueprints. This is achieved through custom preprocessing of C++ sources with the Unreal Header Tool (UHT) and injection through the regular C++ preprocessor. We have improved the handling of Unreal Engine IntelliSense by ensuring consistency and accuracy. IntelliSense will now refresh more readily for UHT-generated files, reducing the likelihood of displaying unwarranted errors.
Specify custom CMake executable
Visual Studio ships with CMake bundled when you download the Desktop Development with C++ workload. However, you can now specify your own custom CMake executable on your machine if desired. Navigate to Tools > Options and select CMake > General. From here, you can check Enable custom CMake executable and specify the directory path of your CMake executable you wish to use.
C++ Memory Layout Visualization
Based on your feedback, we have added the Memory Layout feature. This feature enables visualization of the memory arrangements for your classes, structs, and unions directly within your editor, removing the need for compilation to view these layouts. When you hover over your types, a “Memory Layout” link will appear within the Quick Info. Clicking this link will open a dedicated window displaying the memory layout of the selected type. Furthermore, hovering over individual data types within this window will provide detailed information about their size and offset within the type.
#include Diagnostics
Visual Studio now introduces #include Diagnostics, which provides a detailed analysis of your #include directives by displaying their references and build time. Once you turn on this feature, the number of references will be displayed in CodeLens. From there, you can easily navigate to the list of references and locate each reference. To view the build time of your #include directives next to their references. You will need to run Build Insights by navigating to Build > Run Build Insights.
.NET/C# Automatic Deoptimization
With .NET 8, the Debugger now automatically optimizes release code and external code while debugging. When you set breakpoints and go through your code step by step, only the parts you stop at will be optimized, keeping the rest of your application running smoothly. To use this feature, you just need to turn off the “Just My Code” option in the debugger settings. This improvement brings benefits like fewer errors in the locals, watch, and immediate windows and fewer unexpected code jumps when you’re debugging your application.
Razor Snippets
HTML snippets are now available in Razor (.razor) files, making it easier and faster to write out common, repeating code patterns. To insert a snippet, start typing a common HTML tag (i.e., <table>) and select one of the dashed-box options from the resulting dropdown.
Multi-TFM Support for Razor Files
Multi-targeting framework support (TFM) is now available for Razor files. This allows you to include code that targets a particular framework and filter between code that targets each framework using the dropdown header above the editor window. You can also use the navigation bar drop-downs to quickly navigate to different classes and members in the Razor file.
Blazor Scaffolding for .NET 8 Projects
We have added support to scaffold views for Blazor projects, including CRUD (Create-Read-Update-Delete) using Entity Framework. After adding a model class to a Blazor project, you can get started with scaffolding by right-clicking on the project in the Solution Explorer and selecting Add > New Scaffolded Item. In the dialog that appears, the new scaffolders are in the node under Common > Razor Component.
If you select the option Razor Components using Entity Framework (CRUD), you will get another dialog prompting for the details of what should be scaffolded.
Here, you select your model class and the DbContext that should be used. You can also create a new DbContext if needed. After completing this process, files will be added to your project to enable the CRUD operations on the model class selected.
The UI which is generated from the model provided looks like this:
Some important notes on the code which is generated in your project.
The scaffolded code uses the new static server-side rendering support in Blazor in .NET 8
The generated components only work on the server – they aren’t supported with WebAssembly-based rendering
The generated code uses the new QuickGrid component in .NET 8 for the table, which supports sorting, filtering, pagination, etc if you enable interactivity on the page
Live Property Explorer Support for.NET MAUI
Live Property Explorer, a powerful tool that enables more efficient development, is now supported with .NET MAUI. It enables you to inspect XAML properties while debugging, to be used in conjunction with XAML Live Preview and Live Visual Tree.
With LPE, you can easily view and tweak the properties of your app controls at runtime, which is especially useful when you’re looking to debug issues, optimize performance, or investigate where a property is defined.
To access the Live Property Explorer, Start and debug your app. Then, navigate to Debug > Windows > Live Property Explorer. Once you’ve opened the Live Property Explorer, you can use it to explore and live edit properties in your .NET MAUI app. For more information, visit our docs.
Ecosystem Extensibility
Many of our developers, including myself, enhance their Visual Studio environment by using custom extensions that provide targeted, specific, and often contextual functionality. However, it’s not always easy to standardize extension use across teams, projects, installations, etc. We’re happy to announce that starting in Visual Studio 2022 version 17.9, you can use your vsconfig files to include extension information alongside the component listing. Since *.vsconfig files are easy to pass around and share with others, it’s now easier to share information about which extensions need to be installed. This capability to load extensions through a vsconfig file was one of our top requested community features, and we’re very excited to finally start delivering on this vision.
When the Visual Studio installer reads a vsconfig file, it will detect if any extensions are specified, and if so, it will load them within Visual Studio in a machine-wide context, available for all users to use. Recall that *.vsconfig files work in a variety of common scenarios. For example, you can add a vsconfig file to your repo or solution, and when Visual Studio loads the solution, it’ll process the config file and prompt you to load any missing components or now extensions. You can use the installer and import a config file into an existing installation or use it to initialize a new installation. You can programmatically modify an existing installation and pass in a vsconfig file to the installer or use it with winget configure. Lastly, you can create a layout using a vsconfig file and now you can instruct clients that install from that layout to respect the config file.
In 17.9, we’re delivering the first iteration of this experience, but there are more features still under development. We’re working on the ability to detect missing non-marketplace extensions in the config file during solution load and the installer’s ability to load “complex” extensions for 17.10. Then, we’ll start to work on the other common installer operations such as update, export, etc.
Please try this feature out and let us know what you think! Your feedback is valuable and helps us prioritize which important and useful functionality to deliver next.
If you are curious about Visual Studio, visit the Official Website to obtain further information about it. You can download Visual Studio 2022 17.9 Here. And that's all for now! Have fun and enjoy Visual Studio!
You cannot post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum