ReSharper C++ 2021.3

Visual Studio 2022をサポートし、Unreal Engineのサポートを向上、コードを最新のC++にアップグレード可能
12月 10, 2021
新バージョン

機能

  • Support for Microsoft Visual Studio 2022
    • ReSharper C++ now supports the new Visual Studio 2022 release build, meaning you will have access to the same rich feature set you are used to using in other Visual Studio versions.
    • Since Visual Studio 2022 is an x64 process, there is no longer a limit to the maximum amount of memory that can be allocated to it, and all the ReSharper С++ features work faster.
  • C++20
    • Use C++20 designated initializers to quickly generate boilerplate code for aggregate initialization. Just select the corresponding item from the completion list to insert designators for the data members, and then provide the initial values.
    • With the C++20 contains function, you can now easily check whether an element exists in an associative container. A new inspection suggests replacing instances of find or count with the new contains member function.
    • Added new library functions for erasing elements that work for all standard containers. A dedicated inspection will let you know when an erase-remove idiom can be replaced with std::erase or std::erase_if.
    • Added smart pointer creation functions that perform default initialization. When you need to allocate an array of built-in types and then immediately initialize it, you can now apply a quick-fix to use make_shared_for_overwrite or make_unique_for_overwrite.
  • Unreal Engine
    • You no longer need to switch to Unreal Editor to create a new class. All predefined templates for Unreal Engine classes are now available in the list of ReSharper file templates.
    • To create a new class, go to Solution Explorer and right-click on the preferred project folder to open the Add menu (or use Ctrl+Alt+Insert). After you choose an Unreal Engine template from the list and give your new class a name, ReSharper C++ will generate the header and source files with the template code in the proper folders depending on whether the folder is private or public.
    • ReSharper C++ now works correctly with the Unreal Engine 'Sparse Class Data' system.
  • Code analysis
    • Added a new inspection that marks redundant parentheses in lambdas with no parameters, since a parameter list is not required in such cases.
    • When an elaborated type specifier is not used to declare a new class nor to refer to a previously declared but hidden class, ReSharper C++ will suggest removing the specifier.
    • Added a new inspection which finds for loops that can be written in a more concise way as while loops. The accompanying quick-fix lets you quickly rewrite them.
    • User specializations of classes like std::hash or std::formatter are often wrapped in a standalone namespace. To make your code more readable, ReSharper C++ now suggests using a qualified class name instead.
    • If you construct an object of an exception type but do not use it, ReSharper C++ now warns you and lets you quickly add the throw keyword.
    • The bundled Clang-Tidy has been updated to Clang 13, adding new checks from the latest LLVM release.
  • Coding assistance
    • The 'Quick Info' tooltip now includes the evaluation results for constant expressions. You can use this feature to see what subexpressions of a failing static_assert expression evaluate to, or to check out the value of a sizeofalignof operator.
    • In addition to the Document action (via the Alt+Enter menu or the Ctrl+/ shortcut), you can now generate a stub for a new documentation comment by typing /// before a function or another entity you want to document.
  • Navigation
    • The 'File Structure' window now groups symbols with the same qualifier. This is especially useful in source files that contain a lot of out-of-class functions.
    • This release allows you to search for declarations in inactive code, where navigation was previously not available.
    • Enables navigating from a goto statement to the corresponding label.
  • Change Signature
    • The 'Change Signature' refactoring now lets you easily control the C++17 [[nodiscard]] attribute, which indicates that the function caller should use the function’s return value.
  • C support
    • ReSharper C++ now supports C11 expressions, which provide a mechanism for limited compile-time choices in C.
    • Added support for – a GNU extension to the C language for referring to the type of an expression.
ReSharper C++

ReSharper C++(英語版)

C++開発向けVisual Studio拡張機能

ReSharper C++(英語版)は、次の製品にも含まれています。

ご質問がありますか?

今すぐ JetBrains ライセンススペシャリストとライブ チャット