May 22nd, 2024
We are happy to announce that Visual Studio 2022 version 17.10 is now generally available! This post summarizes the new features you can find in this release for C++. You can download Visual Studio 2022 from the
Visual Studio downloads page
or upgrade your existing installation by following the
Update Visual Studio Learn page
.
Standard Library and Compiler
We have incremented the minor version number of the MSVC toolset from 19.39 (VS 2022 v17.9) to 19.40 (VS 2022 v17.10). For more details, and some ways in which this will affect projects that assume that MSVC versions are all 19.3X for Visual Studio 2022 releases, see the
MSVC Toolset Minor Version Number 14.40 in VS 2022 v17.10 blog post
.
We’ve made a host of changes to our standard library implementation, with the help of the community. As always, you can see the
STL Changelog
for full details. We implemented C++26’s
P2510R3 Formatting Pointers
, which brings the set of format specifiers for pointers when using
std::format
more in line with those that already exist for integers. We also implemented a few smaller features from C++26 and C++23, such as
P2836R1
, which makes
std::basic_const_iterator
act in a more natural way with respect to implicit conversions. On the performance side, we improved the vectorized implementations of
std::min_element
,
std::ranges::min
and friends, made the copy/move assignment operators of
std::expected
trivial when expected, and more.
C++ Productivity and Game Development
You can now use Build Insights to view your template instantiation information. Template instantiation collection must be activated in Tools > Options > Build Insights.
Check out our
blog post on Templates View
or our recording from Pure Virtual C++ for more details:
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. Furthermore, we have added additional Unreal Engine Macros to be indented in accordance with the UE Code Style.
If you’re targeting Linux, be sure to check out our video on our most recent development features for Linux from Pure Virtual C++:
CMake Targets View
We have added support for pinning CMake targets in the CMake Targets View. There is a top-level folder now for Pinned Targets. You can pin any targets by right-clicking and selecting the Pin option in the context menu.
You can also unpin any target in the Pinned Targets folder by selecting Unpin.
Connection Manager
We introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Check out
our blog post
for more details.
Core Editor
You can now view your GitHub and Azure DevOps pull request comments directly in your working file in Visual Studio. Enable the feature flag, “Pull Request Comments,” in Options > Environment > Preview Features and checkout the pull request branch to get started.
Generated Pull Request Descriptions
Similar to our generated
Git commit message feature
, you can now get a first draft for your pull request description created by GitHub Copilot. You’ll need to verify you have an active GitHub Copilot subscription. Try it out by clicking the ‘Add AI Generated Pull Request Description’ sparkle pen icon within the Create a Pull Request window. Please share your feedback on this feature
here
.
Image Hover Preview
If you hover over the path to an image, Visual Studio will now give you a small preview of the image itself, along with the size of the image in pixels and bytes. The size is capped to 500px wide and high.
New Text Formatting Options
You can now choose italic, bold, strikethrough, or underline styles for text formatting in the Options > Environment > Fonts and Colors settings:
Creating Conditional Breakpoints and Tracepoints from Expressions
You can now create a conditional breakpoint or tracepoint directly from an expression in your source code from the right-click menu. This works on property or field names and values from autos, locals, watch windows, or DataTips:
Attach to Process Dialog Revamp
The Attach to Process dialog has been improved for better functionality and user-friendliness. You can now easily switch between tree and list views, organize processes better with collapsible sections, and select code types with a simplified combobox. 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.
GitHub Copilot
We have unified the experience from the GitHub Copilot and Copilot Chat extensions and shipped them directly in Visual Studio. To install it, install the GitHub Copilot component in the Visual Studio Installer:
To use it, you’ll need an active GitHub Copilot subscription, and you can find the interface in the top-right corner of Visual Studio.
Send us your feedback
We are very much interested in your feedback to continue to improve this experience. The comments below are open. Feedback can also be shared through
Visual Studio Developer Community
. You can also reach us on Twitter (
@VisualC
), or via email at
[email protected]
.
Visual Studio Code CMake Tools Extension 1.18 Update: Quick Start with CMake and more…
The May release of CMake Tools in VS Code is now available. With this release, we have some new updates to the extension to improve CMake integrations with the extension'...
0 comment
C++ Refactoring tools in Visual Studio
Code refactoring is the process of restructuring existing code, while its outward functionality remains unchanged. By refactoring, you can simplify complex code ...
1 comment
Honestly, it’s quite worrying that your FE team was fired. Have you had any luck hiring them back as 50% of your compiler doesn’t exist (and the other 50% from the BE generates worse code compared to competitors from a decade ago)
The lack of C++23 “language” features will soon be a blocker for my industry in particular. We have a set of “reference” guidance and the decision on whether we’re allowed to use C++23 will be made in what looks like a faster timeline then you’ll be able to put the compiler back together again…
I see there has been some work done on the debugger, but it would be nice if you could let your colleagues on the debugger team know that it is impossible to debug x86 C++ code in Visual Studio 2022 on Intel Sapphire Rapids Xeon CPUs in Windows 11 since August 2023 when those CPUs were released. I submitted a
bug report
, but it’s “under consideration” seemingly forever. Apparently nobody except me uses workstation class CPUs with Intel AMX instruction set extensions.
Hi Sy, i see that have been added an image hover preview, could you bring attention from the extension team about this feature request?
Its been on “roadmap” for incontable years, almost 100 upvotes and a lot of comments requesting it 🙏🙏
Image Watch