{"id":390686,"date":"2023-09-25T14:13:14","date_gmt":"2023-09-25T13:13:14","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=dotnet&#038;p=390686"},"modified":"2025-09-17T13:48:20","modified_gmt":"2025-09-17T12:48:20","slug":"rsrp-2023-3-eap1","status":"publish","type":"dotnet","link":"https:\/\/blog.jetbrains.com\/en\/dotnet\/2023\/09\/25\/rsrp-2023-3-eap1","title":{"rendered":"ReSharper 2023.3 Early Access Program Begins!"},"content":{"rendered":"\n<p>Hello everyone,<\/p>\n\n\n\n<p>The Early Access Program for ReSharper 2023.3 has started! Before you download <a href=\"https:\/\/www.jetbrains.com\/resharper\/nextversion\/\" target=\"_blank\" rel=\"noopener\">the first EAP build<\/a>, let\u2019s take a look at what is in store for you.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/c4DfiOOucMW5gIY2bwxTstYsa4KQm7DMt6imX8tppsoHYztAWe4qrHJ_lg1uOBTsgIqpaU0C5La3Tsb0R2RRjZh2TD52M2DfiBiHexa05HjPvY_qRZsTJ-23nQ1w8buFyYlSgiR_BPRcgN26mn3ZDJvX5lrkSh193iTtmK1q4nS40Tc3SHIpj9RBmTQC8g.png\" alt=\"\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Working with aliases<\/h2>\n\n\n\n<p>With this first EAP build, we are introducing support for C# 12\u2019s ability for <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/csharp\/language-reference\/proposals\/csharp-12.0\/using-alias-types\" target=\"_blank\" rel=\"noopener\">alias directives to reference any kind of type<\/a>.<\/p>\n\n\n\n<p>We\u2019ve also made a number of changes to improve your overall experience using aliases. Here are just a few:<\/p>\n\n\n\n<ul>\n<li>The<em> Go to Declaration<\/em> command now allows you to go to <code>using<\/code> directives (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/RSRP-491637\/Go-to-declaration-on-using-directive-should-show-the-using-directive\" target=\"_blank\" rel=\"noopener\">RSRP-491637<\/a>).<\/li>\n\n\n\n<li>In the past, our code-generating features would often lose aliases when producing code and you would see the underlying aliased symbol instead. This issue has now been resolved.<\/li>\n\n\n\n<li>We\u2019ve introduced better tooltips on alias usages.<\/li>\n\n\n\n<li>New inspections (<em>Use type alias<\/em> and <em>Use namespace alias<\/em>) and corresponding quick-fixes are available.<\/li>\n<\/ul>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/09\/RSRP-233-Use-type-alias-still.png\" alt=\"\" width=\"900\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/09\/RSRP-233-Use-type-alias-gif.gif\" style=\"border-style: solid;border-width: 1px;border-color: lightgray;\">\n\n\n\n<ul>\n<li>The new<em> Introduce type alias <\/em>context action for selected type usages is available.<\/li>\n<\/ul>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/09\/RSRP-233-Introduce-Type-Alias-still-3.png\" alt=\"\" width=\"900\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/09\/RSRP-233-Introduce-Type-Alias-gif-3.gif\" style=\"border-style: solid;border-width: 1px;border-color: lightgray;\">\n\n\n\n<ul>\n<li>The new<em> Use this type alias where possible<\/em> context action for using alias directives is available.<\/li>\n\n\n\n<li>The new <em>Inline &#8216;using&#8217; alia<\/em>s context action is available.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Inspections targeting Entity Framework-related issues<\/h2>\n\n\n\n<p>ReSharper 2023.3 EAP 1 brings new inspections for usages of methods in Entity Framework-related code that could potentially produce runtime exceptions.&nbsp;<\/p>\n\n\n\n<p>The 2 cases covered by these new inspections are:<\/p>\n\n\n\n<ol>\n<li>Methods that produce exceptions when called on in a database context while not being convertible to SQL within Entity Framework or Entity Framework Core.<\/li>\n<\/ol>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/09\/image-109.png\" style=\"border-style: solid;border-width: 1px;border-color: lightgray;\">\n\n\n\n<ol start=\"2\">\n<li>Methods that produce exceptions when called on outside of a database context while being exclusively implemented as database functions.<\/li>\n<\/ol>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/09\/image-110.png\" style=\"border-style: solid;border-width: 1px;border-color: lightgray;\">\n\n\n\n<h2 class=\"wp-block-heading\">Performance&nbsp;<\/h2>\n\n\n\n<p>Finding usages of types and constructors is now faster for solutions with numerous target-typed object creations (e.g. <code>SomeType _field = new()<\/code> ). This improvement also positively affects refactoring speed.&nbsp;<\/p>\n\n\n\n<p>We\u2019ve also fixed some issues associated with handling injected languages, which used to cause increased CPU usage.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C++ language support<\/h2>\n\n\n\n<p>ReSharper C++\u2019s Early Access Program for 2023.3 starts off with a few nice additions for Unreal Engine projects, like improved generation of hash functions and a new inspection for dynamic delegate functions not marked with the <code>UFUNCTION<\/code> macro.<\/p>\n\n\n\n<p>The first EAP build also includes a set of warnings for redundant or incorrect usages of the export keyword in C++20 modules, improved handling of void parameter lists in C code, and support for the <code>#pragma region<\/code> and<code> #pragma endregion<\/code> directives.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/09\/export_keyword.png\" style=\"border-style: solid;border-width: 1px;border-color: lightgray;\">\n\n\n\n<p>&nbsp;For more details on the ReSharper C++ updates, see <a href=\"https:\/\/blog.jetbrains.com\/en\/rscpp\/2023\/09\/25\/resharper-cpp-2023-3-eap\" data-type=\"link\" data-id=\"https:\/\/blog.jetbrains.com\/rscpp\/2023\/09\/25\/resharper-cpp-2023-3-eap\/\">the dedicated blog post<\/a>.<\/p>\n\n\n\n<p>If you are interested in the complete lists of issues we\u2019ve addressed in the first EAP build, follow these links:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issues\/RSRP?q=Available%20in:%20%7B2023.3%20EAP%201%7D\" target=\"_blank\" rel=\"noopener\">ReSharper 2023.3 EAP1<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issues\/RSCPP?q=Available%20in:%20%7B2023.3%20EAP%201%7D%20\" target=\"_blank\" rel=\"noopener\">ReSharper C++ 2023.3 EAP1<\/a><\/li>\n<\/ul>\n\n\n\n<p>That\u2019s it for now! Make sure you give ReSharper 2023.2 EAP 1 a try, leave your feedback in the comment section below or on our social media, and submit any issues you come across to <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/RSRP\" target=\"_blank\" rel=\"noopener\">our issue tracker<\/a>.<\/p>\n","protected":false},"author":1337,"featured_media":390855,"comment_status":"closed","ping_status":"closed","template":"","categories":[4992,89,907,3990],"tags":[8126,600,1897,46,2095],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/390686"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/types\/dotnet"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/users\/1337"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/comments?post=390686"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/390686\/revisions"}],"predecessor-version":[{"id":623398,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/390686\/revisions\/623398"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/390855"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=390686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=390686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=390686"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=390686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}