{"id":377272,"date":"2023-08-02T14:49:32","date_gmt":"2023-08-02T13:49:32","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=dotnet&#038;p=377272"},"modified":"2023-09-04T16:55:07","modified_gmt":"2023-09-04T15:55:07","slug":"rider-2023-2-release","status":"publish","type":"dotnet","link":"https:\/\/blog.jetbrains.com\/zh-hans\/dotnet\/2023\/08\/02\/rider-2023-2-release","title":{"rendered":"Rider 2023.2: Better C# Support, UX\/UI Enhancements, AI-Powered Features, and More"},"content":{"rendered":"\n<p>A new major update for Rider <a href=\"https:\/\/www.jetbrains.com\/rider\/download\/#section=windows\" target=\"_blank\" rel=\"noopener\">has just been published<\/a>! You can download the 2023.2 release build from <a href=\"http:\/\/www.jetbrains.com\/rider\/download\" target=\"_blank\" rel=\"noopener\">our website<\/a>, install it via <a href=\"https:\/\/www.jetbrains.com\/toolbox-app\/\" target=\"_blank\" rel=\"noopener\">the Toolbox App<\/a>, or use this <a href=\"https:\/\/snapcraft.io\/rider\" target=\"_blank\" rel=\"noopener\">snap package<\/a> from the Snap\u0441raft store (if you are using a compatible Linux distribution).<\/p>\n\n\n\n<p>We invite you to explore the new features and improvements in version 2023.2 of your favorite cross-platform .NET IDE.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/Featured_Blog_1280x720_Rider-2x.png\" alt=\"\" class=\"wp-image-377295\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">C# updates<\/h2>\n\n\n\n<p>Rider 2023.2 comes with the following improvements to its C# language support:<\/p>\n\n\n\n<ul>\n<li>New inspections and context actions, improved typing assistance, and formatting options for working with raw string literals.<\/li>\n\n\n\n<li>Inspections and quick-fixes for handling common Entity Framework issues.<\/li>\n\n\n\n<li>Two new inspections and corresponding quick-fixes aimed at improving code readability when working with local functions.<\/li>\n\n\n\n<li>Inspections for <code>#nullable<\/code> directives and NRT annotations.<\/li>\n\n\n\n<li>Improved navigation from var declarations.<\/li>\n\n\n\n<li>Primary constructor support for non-record classes and structs from the C# 12 preview.<\/li>\n\n\n\n<li>Support for default parameter values in lambda expressions.<\/li>\n\n\n\n<li>New code inspections designed for better control over object disposal.<\/li>\n\n\n\n<li>Better C# discard support.<\/li>\n\n\n\n<li>New inlay hints for improved code readability when working with tuple component names, <code>null <\/code>and <code>default<\/code> components, and deconstruction patterns.<\/li>\n\n\n\n<li>Improved support for <code>#pragma warning<\/code> directives.<\/li>\n\n\n\n<li><\/li>\n<\/ul>\n\n\n\n<p>For full information on the C# updates, please visit the <a href=\"https:\/\/www.jetbrains.com\/rider\/whatsnew\/#version-2023-2-c-support\" target=\"_blank\" rel=\"noopener\">What\u2019s New in Rider 2023.2 page<\/a>.<\/p>\n\n\n\n<p>You may also want to check out <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/category\/releases\/\">our EAP posts<\/a> for the 2023.2 release for an in-depth look at the latest updates in code analysis.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">UX\/UI improvements<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Reworked <em>Build<\/em> tool window<\/h3>\n\n\n\n<p>In Rider 2023.2, we\u2019ve reworked the <em>Build<\/em> tool window, both in terms of performance and UX\/UI. Build output results are now loaded in a \u201clazy\u201d manner, meaning only the build details you choose to look into from the event tree will be loaded and displayed. This makes the output far more CPU-friendly and easier to navigate.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2400\" height=\"1200\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/05\/Rider-EAP-2-New-Build-Tool-Window_02-2.png\" alt=\"\" class=\"wp-image-357042\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">New UI becomes the default look<\/h3>\n\n\n\n<p>The latest version of Rider makes the reimagined IDE interface <a href=\"http:\/\/localhost:8080\/rider\/whatsnew\/2022-3\/#version-2022-3-uiux\" target=\"_blank\" rel=\"noopener\">first unveiled in version 2022.3<\/a> the default for all new users. The new UI is sleek, modern, and highly customizable.<\/p>\n\n\n\n<p>If you haven\u2019t made the switch yet, we encourage you to give it a try by going to <em>Settings \/ Preferences | Appearance &amp; Behavior | New UI | Enable new UI<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Customization and streamlining<\/h3>\n\n\n\n<p>The new UI is designed to eliminate visual clutter and streamline your workflow. Several updates in the 2023.2 release advance these goals:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Customizable project headers<\/h4>\n\n\n\n<p>You can now navigate between all of your open projects by color! Headers come with predefined colors by default, but you can change them according to your preferences. You can even set up a custom icon for your solution as a finishing touch!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1200\" height=\"780\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/Rider_Cusrtomize-Project-Headers_Still-1.png\" alt=\"\" class=\"wp-image-377973\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Improved main toolbar customization<\/h4>\n\n\n\n<p>We\u2019ve expanded the customization options for the new UI\u2019s main toolbar. You can now use a drop-down menu to quickly choose actions that you want to add to the toolbar. To do so, right-click on any widget, select <em>Add to Main Toolbar<\/em>, and explore the available options.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1200\" height=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/rd-custom-tool-bar.png\" alt=\"\" class=\"wp-image-377984\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Pinned run configurations in the <em>Run<\/em> widget<\/h4>\n\n\n\n<p>To make managing multiple run configurations easier, we\u2019ve implemented the option to pin preferred configurations in the <em>Run<\/em> widget. To add a run configuration to the <em>Pinned<\/em> section, open the kebab menu (three dots) next to its name and select <em>Pin<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1200\" height=\"562\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/rd-pinned-run-config.png\" alt=\"\" class=\"wp-image-377995\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Other notable UX\/UI updates:<\/h3>\n\n\n\n<ul>\n<li>Reworked hamburger menu in the main toolbar on Windows and Linux.<\/li>\n\n\n\n<li><em>Light<\/em> theme with light headers.<\/li>\n\n\n\n<li>Single-click navigation between project directories.<\/li>\n\n\n\n<li>File sorting by modification time in the Solution Explorer.<\/li>\n\n\n\n<li>Native Linux header removed in the new UI.<\/li>\n\n\n\n<li>Updated window controls on macOS.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">AI Assistant [Limited access]<\/h2>\n\n\n\n<p>With this release, we introduce a major addition to Rider \u2013 AI Assistant. The initial set of AI-powered features offers an integrated AI chat and weaves naturally into some of the IDE\u2019s core user workflows. AI Assistant can analyze selected code, explain the meaning of a commit or a runtime error, generate documentation, and create Unity files written to your specifications.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/ai-assistant-chat-preview.png\" width=\"900\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/ai-assistant-chat.gif\" style=\"border-style: solid; border-width: 1px;border-color: lightgray;\">\n\n\n\n<p>Find out more about the AI-powered features in Rider 2023.2 <a href=\"https:\/\/www.jetbrains.com\/rider\/whatsnew\/#version-2023-2-ai-assistant\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n\n\n\n<p>Access to the AI capabilities is limited for now and requires you to install the plugin and log in to the JetBrains AI service. For more information, refer to this <a href=\"https:\/\/blog.jetbrains.com\/zh-hans\/idea\/2023\/06\/ai-assistant-in-jetbrains-ides\">blog post<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Version control<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">GitLab integration<\/h3>\n\n\n\n<p>Rider 2023.2 introduces initial integration with GitLab, allowing you to work with the <em>Merge Request<\/em> functionality right from the IDE and streamline your development workflow.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1200\" height=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/key-features-gitlab-preview.png\" alt=\"\" class=\"wp-image-378042\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Background commit checks<\/h3>\n\n\n\n<p>We\u2019ve reworked the behavior of commit checks for Git and Mercurial to speed up the overall commit process. Checks are now performed in the background after you commit but before you push.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1200\" height=\"550\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/vcs-commit-checks.png\" alt=\"\" class=\"wp-image-378053\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Option to commit specific lines of code<\/h3>\n\n\n\n<p>Rider 2023.2 introduces a highly anticipated feature that allows you to selectively commit specific parts of code chunks. To perform a partial commit, select the lines within a chunk and call <em>Include these lines into commit<\/em> from the context menu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1200\" height=\"700\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/vcs-split-chunks.png\" alt=\"\" class=\"wp-image-378064\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Performance<\/h2>\n\n\n\n<p>With Rider 2023.2, we\u2019ve revised our approach to caching the data required by the IDE to make its systems work. This revision, supported by myriad performance tests, resulted in a noticeable reduction in disk space consumption for each solution you open. In practical terms, it means less time spent doing disk input\/output and faster loading times for solutions.<\/p>\n\n\n    <div class=\"slider slider-full\">\n                                        <div class=\"slider__slide\">\n                    <a href=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/cache-preformance-01.png\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/cache-preformance-01.png\" alt=\"\">\n                    <\/a>\n                <\/div>\n                                                    <div class=\"slider__slide\">\n                    <a href=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/cache-preformance-02.png\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/cache-preformance-02.png\" alt=\"\">\n                    <\/a>\n                <\/div>\n                                                    <div class=\"slider__slide\">\n                    <a href=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/rsrp-performance-03.png\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/rsrp-performance-03.png\" alt=\"\">\n                    <\/a>\n                <\/div>\n                        <\/div>\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Game development<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Unity<\/h3>\n\n\n\n<p>This is another release loaded with features for Unity development, with lots of improvements to the experience of editing ShaderLab files, additional updates to DOTS functionality, and better support for USS files.<\/p>\n\n\n\n<p>Here are some key updates:<\/p>\n\n\n\n<ul>\n<li>The new <strong>AI Assistant<\/strong> is aware of your development environment, providing Unity-specific responses and making relevant Unity API suggestions. AI Assistant can also generate a file written to your specifications for a Unity solution.<\/li>\n\n\n\n<li>Improved <strong>ShaderLab support<\/strong>, including new typing assistance, live templates, improvements to viewing the file structure through breadcrumbs and the <em>Structure<\/em> tool window, and Ctrl+Click navigation to the name declaration of a shader or pass. Learn more from <a href=\"https:\/\/blog.jetbrains.com\/zh-hans\/dotnet\/2023\/07\/25\/improvements-to-unity-shader-files-in-rider-2023-2\">this blog post<\/a>.<\/li>\n\n\n\n<li>Support for <strong>Unity DOTS<\/strong> continues to expand. We\u2019ve made some useful improvements to code generation for the Data-Oriented Tech Stack (DOTS) based on some great feedback from the Unity community. We\u2019ve also introduced new file and live templates, in addition to extending Burst context analysis to more parts of your code.<\/li>\n<\/ul>\n\n\n\n<p>Learn more about Unity support in Rider 2023.2 <a href=\"https:\/\/www.jetbrains.com\/rider\/whatsnew\/#version-2023-2-game-development\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Unreal Engine<\/h3>\n\n\n\n<p>Rider 2023.2 is another great update for Unreal Engine support, with lots of updates to C++ as well as the introduction of support for Hot Reload and Live Coding, performance improvements for Blueprint indexing, and fixes and updates for Perforce support.<\/p>\n\n\n\n<p>Some highlights:<\/p>\n\n\n\n<ul>\n<li>This release features <strong>improved Blueprints indexing<\/strong>. By classifying Blueprints as secondary resources, Rider can now index all of your code before looking at your assets. This means you get access to the rich code editing experience sooner, while the assets are still being indexed in the background.<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>Rider now supports invoking <strong>Hot Reload and Live Coding <\/strong>from the IDE, allowing you to update your Unreal application while the editor is running.<\/li>\n\n\n\n<li>We\u2019ve improved the integration with <strong>Perforce<\/strong>, notably decreasing the time it takes to refresh the status of local files, among other fixes and updates.<\/li>\n<\/ul>\n\n\n\n<p>Learn more about Unreal Engine support in Rider 2023.2 <a href=\"https:\/\/www.jetbrains.com\/rider\/whatsnew\/#version-2023-2-game-development\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">.NET SDK<\/h2>\n\n\n\n<p>Rider 2023.2 introduces a host of improvements for working with Roslyn analyzers and Source Generators, including the introduction of new project templates for them and a Reboot Source Generators button.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1200\" height=\"620\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/08\/rd-reboot-sourcegenerators.png\" alt=\"\" class=\"wp-image-378075\"\/><\/figure>\n\n\n\n<p>Check out this blog post to learn all there is to know about <a href=\"https:\/\/blog.jetbrains.com\/zh-hans\/dotnet\/2023\/07\/13\/debug-source-generators-in-jetbrains-rider\">debugging Source Generators in Rider<\/a>.<\/p>\n\n\n\n<p>Docker support has been bolstered with the <a href=\"https:\/\/blog.jetbrains.com\/zh-hans\/dotnet\/2023\/06\/07\/how-docker-fast-mode-works-in-rider\">option to run Docker in fast mode<\/a>, Docker Compose run configuration labels, and the ability to view the Docker log in the <em>Console <\/em>tab when debugging Docker containers.<\/p>\n\n\n\n<p>Last but not least, Hot Reload is finally available for solutions targeting .NET MAUI!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Other release highlights:<\/h2>\n\n\n\n<ul>\n<li>The <em>Find Usages<\/em> functionality has received a functional upgrade in Rider 2023.2. Now, if you invoke<em> Find Usages Advanced<\/em> on a symbol (such as a method, class, or variable), the IDE will display a window where you can specify additional search criteria.<\/li>\n\n\n\n<li>In Rider 2023.2, you can collect and analyze memory snapshots inside the IDE just as you can in the standalone version of the dotMemory profiler.<\/li>\n\n\n\n<li>The <em>Call Tree<\/em> view now lets you group call stacks by individual threads, providing deeper insight into thread-specific performance issues.<\/li>\n\n\n\n<li>Rider 2023.2 integrates the Qodana code quality platform. Learn how you can elevate the quality of your C# code with Qodana in <a href=\"https:\/\/blog.jetbrains.com\/zh-hans\/dotnet\/2023\/06\/29\/elevating-csharp-code-quality-with-qodana-a-journey-towards-perfection\">this blog post.<\/a> You can find more general information about Qodana <a href=\"https:\/\/blog.jetbrains.com\/zh-hans\/qodana\/2023\/07\/qodana-is-out-of-preview-with-first-class-jetbrains-ide-integration\">here<\/a>.<\/li>\n\n\n\n<li>Rider\u2019s F# support has received a number of exciting updates, starting with F# to C# in-memory references. Learn about all of the F# updates <a href=\"https:\/\/www.jetbrains.com\/rider\/whatsnew\/#version-2023-2-f-support\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/li>\n\n\n\n<li>Rider 2023.2 comes with support for the LSP API for plugin developers. Here\u2019s a <a href=\"http:\/\/localhost:8080\/rider\/whatsnew\/#todo\" target=\"_blank\" rel=\"noopener\">blog post<\/a> about it from the IntelliJ IDEA team.<\/li>\n\n\n\n<li>Rider 2023.2 introduces the Feature Trainer, a new interactive tool designed to help both new and experienced users familiarize themselves with the extensive features and workflows offered by the IDE.<\/li>\n<\/ul>\n\n\n\n<p>For more information about all these features and tons of others, visit <a href=\"https:\/\/www.jetbrains.com\/rider\/whatsnew\/\" target=\"_blank\" rel=\"noopener\">the What\u2019s New in Rider 2023.2 page<\/a>. You can also review the full list of requests we\u2019ve addressed this release cycle <a href=\"https:\/\/youtrack.jetbrains.com\/issues?q=project:%20Rider%20Available%20in:%202022.2*\" target=\"_blank\" rel=\"noopener\">in our public bug tracker<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>There are a several ways to download and install the latest version of Rider:<\/p>\n\n\n\n<ul>\n<li>Get it from <a href=\"https:\/\/www.jetbrains.com\/rider\/nextversion\/\" target=\"_blank\" rel=\"noopener\">our website<\/a>.<\/li>\n\n\n\n<li>Use the <a href=\"https:\/\/www.jetbrains.com\/toolbox\/\" target=\"_blank\" rel=\"noopener\">Toolbox App<\/a>.<\/li>\n\n\n\n<li>Install this <a href=\"https:\/\/snapcraft.io\/rider\" target=\"_blank\" rel=\"noopener\">snap package<\/a> from the SnapCraft store if you use a compatible Linux distribution.<\/li>\n<\/ul>\n\n\n\n<p>We can\u2019t wait to hear what you think of the updates in Rider 2023.2! Please share your thoughts in the comments below.<\/p>\n","protected":false},"author":1337,"featured_media":377273,"comment_status":"closed","ping_status":"closed","template":"","categories":[4992,89,907,4140],"tags":[8168,6992,6470,1978,8214,2042,6411,1941,8216,2095],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/dotnet\/377272"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/dotnet"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/types\/dotnet"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/users\/1337"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=377272"}],"version-history":[{"count":6,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/dotnet\/377272\/revisions"}],"predecessor-version":[{"id":378649,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/dotnet\/377272\/revisions\/378649"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media\/377273"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=377272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=377272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=377272"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=377272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}