Rider 2023.2

AI 기반 기능과 더불어 언리얼 엔진에 최적화된 블루프린트 인덱싱을 추가합니다.
8월 3, 2023
신규 버전

기능

Key updates

  • Customizable project headers [New UI] - With this release you can now easily navigate between all of your open projects by color. Headers now come with predefined colors by default, but you can change them according to your preferences.
  • AI Assistant [Limited access] - With the initial set of AI-powered features, AI Assistant offers an integrated AI chat and weaves naturally into some of the core IDE user workflows. AI Assistant can analyze selected code, explain the meaning of a commit, and create Unity files written to your specifications.
  • Reworked Build tool window - The Build tool window has been reworked, both in terms of performance and UX/UI. Build output results will now be presented as an event tree on the left-hand side and a log on the right. The output will be loaded in a "lazy" manner, meaning only the build details you choose to look into from the event tree will be loaded and displayed, making the output far more CPU-friendly and easier to navigate.
  • GitLab integration - This release introduces initial integration with GitLab, allowing you to work with the Merge Requests functionality right from the IDE and streamline your development workflow.

Code analysis

  • C# support
    • Improved support for raw strings - Added new C# inspections and context actions for working with raw strings, as well as improved typing assists and new formatting options:
      • A Use raw string inspection to transform multi-line verbatim strings into their raw representations.
      • A Simplify raw string inspection to remove some of the quotes and dollar sign symbols that become redundant.
      • A number of context actions to add or remove quotes, interpolation braces, and dollar sign symbols and to switch between single-line and multi-line representation.
      • Several code formatter options, allowing you to align or indent the content inside raw strings.
      • Improved typing assistance on clicking the Enter, Delete, or Backspace keys.
    • Inspections for common Entity Framework issues - Added several new inspections, quick-fixes, and contextual navigation options for common problems you can experience working with databases using an object-relational mapping (ORM) framework like Entity Framework.
    • Inspections for working with local functions - This release introduces two new inspections and corresponding quick-fixes aimed at improving code readability with local functions.
    • Inspections for #nullable directives and NRT annotations - Several new inspections for #nullable directives and NRT annotations are now available.
    • Improved navigation from var declarations - All navigation actions (Go to..., Find Usages, etc.) now suggest underlying types when navigating from var for common types used to wrap other types.
    • Primary constructors [C# 12 preview] - Introduced primary constructor support for non-record classes and structs from the C# 12 preview.
    • Support for default parameter values in lambdas [C# 12 preview] - Introduced support for default parameter values in lambda expressions. In addition to the standard set of warning messages associated with recognizing this syntax, an existing inspection has also been tweaked, the parameter has the same default value, to account for default parameter values in lambdas.
    • Better support for disposable resources
      • This release introduces two new code inspections designed to better control an object disposal:
        • The Return of a variable captured by 'using' statement inspection alerts you when the returned object is immediately disposed of.
        • The Return of a task produced by 'using'-captured object inspection identifies scenarios where a Task is produced by an object captured by a using statement and then immediately returned.
      • The Generate dispose pattern feature has also been improved to support the IAsyncDisposable interface and be able to generate an async method to release the resources.
    • Better C# discard support - The code analysis received a bunch of new useful additions to C# discard support:
      • You can now quickly check the names and types of discarded values with the Push-to-Hint functionality.
      • A The _ name is typically reserved for local parameters without usages warning about variables and parameters named _ that are actually being used.
      • A Use discard assignment inspection is available to replace an unused variable and parameter with a discard.
  • New inlay hints for improved code readability
    • Inlay hints with tuple component names
      • When passing a value to a tuple argument or return type, C# allows you to skip component names. However, without the names, it becomes more difficult to tell the meaning of each component without looking at its target type. Rider will now display inlay hints with tuple component names when those names aren't already apparent from the component expression.
      • For null and default components, Rider will now display hints about their target types even if the target component doesn't have an explicit name.
    • Improved support for #pragma warning directives - Pragma directives now allow you to disable or restore compiler warnings by their IDs.

UX/UI

  • Reworked hamburger menu in the main toolbar on Microsoft Windows and Linux [New UI] - The behavior of the hamburger menu that is located in the main toolbar of the new UI for Windows and Linux has been refined. Once you click on the menu icon, the elements now appear horizontally over the toolbar.
  • Pinned run configurations in the Run widget [New UI] - To make managing multiple run configurations easier, the option to pin preferred configurations in the Run widget has been added.
  • Improved main toolbar customization [New UI] - Expanded the customization options for the new UI's main toolbar. You can now use a dropdown menu to quickly choose actions that you want to add to the toolbar.
  • Light theme with light header [New UI] - The Light theme has been refined by introducing the alternate Light with Light Header option, featuring matching light colors for window headers, tooltips, and notification balloons.
  • Single-click navigation between project directories - In the Solution Explorer tool window, there's a new Open Directories with Single Click option that makes expanding and collapsing the project folders quicker and more responsive. The option is available from the kebab menu (three dots) icon.
  • File sorting by modification time in the Solution Explorer - This release adds the option to arrange your files in the Solution Explorer based on their modification time. This new functionality automatically reorders the files whenever the changes in your project are saved.

AI Assistant [Limited access]

  • AI Assistant is not currently bundled with stable releases of JetBrains IDEs and can be installed as a separate plugin available for versions 2023.2.x. For the time being, there's a waiting list for access to the AI Assistant feature.
    • Chat with AI Assistant - You can use the AI Assistant tool window to have a conversation with the LLM, ask questions, or iterate on a task. The IDE will provide some project-specific context, such as the languages and technologies used in your project. Once you're happy with the result, use the Insert Snippet at Caret function to put the AI-generated code into the editor or just copy it over.
    • AI Actions... menu - You can now select a specific code fragment in the editor and invoke an action from the AI Actions... context menu. AI Assistant can help you:
      • Explain the selected code.
      • Look for potential problems and refactoring options.
      • Start a new AI chat about the selected code.
    • Commit message generation and explanation - The commit message dialog now has a Generate Commit Message with AI Assistant button. Click it to send the diffs of your changes to the LLM, which will generate a commit message describing your changes. You can also ask AI Assistant to explain the commits your teammates made.
    • AI-assisted Unity file generation - AI Assistant can also help you generate a file for a Unity solution written to your specifications. Right-click on a project in the Solution Explorer, select Create with AI Assistant from the context menu, and then write your prompt. Once the AI has generated the content of the file, click Create New File, and it will be automatically added to your project.

Performance

  • With this release the approach to caching the data required by the IDE to make its systems work has been revised.

Navigation and Search

  • Find Usages Advanced - In this release, the Find Usages functionality in Rider has received a functional upgrade. Now, if you invoke Find Usages Advanced on a symbol (such as a method, class, or variable), the IDE will display a window where you can specify additional search criteria.

.NET SDK

  • Roslyn Analyzers and Source Generators
    • Added a Reboot Source Generators button, so you don't have to restart the entire IDE if a custom Source Generator causes a freeze.
    • Rider now displays Source Generator exceptions in the Problems view, enabling you to zero in on issues that would have previously gone undetected or unexplained.
    • The IDE now provides the full stack traces of exceptions in the Problems view, allowing you to pinpoint the root causes of errors more easily.
    • You can now modify the severity level of Roslyn inspections in the Solution Explorer, allowing for greater customization and control over code analysis settings.
    • Two new project templates have been introduced for creating Roslyn analyzers and Source Generator projects in Rider.
  • Docker
    • Running Docker on Microsoft Windows Subsystem for Linux (WSL) - A previous release introduced the option to run Docker in fast mode. Starting with this release, it's now possible to use Docker in fast mode on WSL, as well.
    • Docker Compose run configuration labels - This release makes it easier for you to fine-tune the run configuration of Docker Compose through the introduction of labels. By adding these bits of code to the docker-compose.yml file, you can specify how and if you want to run and debug your applications.
    • XAML Hot Reload for MAUI - Hot Reload is now available for solutions targeting Microsoft .NET MAUI. Having XAML Hot Reload in Rider allows mobile developers to make changes to the UI and code of their MAUI apps while they're running, without requiring a full rebuild and redeployment. The updated changes are applied immediately, providing a faster and more iterative development experience.

Game development

  • Unity
    • AI Assistant for Unity - The new AI Assistant is a tool for solving problems and learning. Rider will tell AI Assistant when you're working with a Unity project, so if you ask a question such as "How do I create an editor window?" or "How do I add a menu item?", AI Assistant will know that you mean a window or menu item in the Unity editor and suggest Unity APIs to help you accomplish your goal.
    • ShaderLab support - This release improves Rider's support for ShaderLab files, with new typing assistance, live templates, populating breadcrumbs and the Structure tool window, and Ctrl+Click navigation to the name declaration of a shader or pass.
    • Unity DOTS - Improved code generation for the Data Oriented Tech Stack (DOTS). New file and live templates have also been introduced, in addition to extending Burst context analysis to more parts of your code. The debugger is starting to learn about DOTS too. The improved presentation of the RefRO and RefRW types now makes it much easier to see the value behind the reference wrappers. However, you can always expand the Raw Value node to see the original representation.
    • Unity style sheets support - Updated Unity style sheet (USS) files, with Rider now supporting the var function, as well as adding highlighting and completion for a wide range of properties added in recent Unity versions.
    • Other updates - Added completion for paths used in asset database APIs. Simply start typing, and Rider will suggest paths from your project.
  • Unreal Engine
    • Optimized Blueprint indexing
      • This release improves the IDE's performance when indexing Blueprints. The first time you open a project, Rider will index all of your Blueprint assets, allowing it to find usages of classes in Blueprints and show the values of serialized data directly in the text editor, cache that data, and incrementally keep it up to date while you work.
      • Previous releases of Rider would index these assets at the same time as your C++ code, meaning that it took longer before Rider was ready to work. In this release, Rider will now index assets as a background task after indexing all of your C++ code. You'll be able to enjoy the benefits of code highlighting while editing, and navigating your code as Rider continues to index the assets.
    • Live Coding and Hot Reload support - Rider now supports invoking Hot Reload or Live Coding from the IDE, allowing you to update your Unreal application while the editor is running. Once one of these features is enabled in the Unreal editor, Rider will display a Build and Reload toolbar button that will compile your changes while Unreal loads the updates.
    • Working with Perforce - Improved integration with Perforce, notably decreasing the time it takes to refresh the status of local files, among other fixes and updates. Rider will now automatically detect a Perforce workspace when opening a solution, and it will also fetch the value of P4CONFIG and other settings from the registry, not just from environment variables.
    • Other updates - This release includes several other updates and fixes for C++ game development.
      • Improved a particularly tricky scenario where Rider would hang when working with incredibly large project files.
      • Rider now makes it easy to limit the scope of Find In Files to plugin directories when working with .uproject based solutions.
      • And there are multiple fixes for the RiderLink plugin, allowing it to be built with the latest VC++ toolchain.

Web development

  • Improved error formatting - Your errors and warnings will now be formatted in a more readable way, making it easier to spot problems in your code. This works for all TypeScript errors and some of the most common JavaScript ones. It also works with localized errors.
  • CSS nesting support - Rider now supports the CSS Nesting Module feature. Syntax support has been implemented and an inspection has been added for ensuring that the nested selector does not start with an identifier or functional notation.
  • Tailwind IntelliSense support - The Tailwind IntelliSense plugin for Rider now offers support for Razor files.
  • Vue Language Server support - Added initial Volar support in Rider to provide more accurate error detection.

Version Control

  • Background commit checks - The behavior of commit checks for Git and Mercurial have been reworked to speed up the overall commit process. Checks are now performed in the background after you commit but before you push.
  • Option to commit specific lines of code - Added the ability to selectively commit specific parts of code chunks.

Performance and memory profiling

  • Dynamic Program Analysis - DPA would previously highlight large blocks of code if the corresponding call stack contained memory allocations by lambda functions. Highlighting is now more granular.

Code quality workflow

  • Qodana code quality platform integration - Static analysis tools are notoriously complicated to configure. However, with this release Qodana, the smart static analysis engine designed to fit any CI/CD pipeline, has been fully integrated. This integration brings you two important benefits:
    • First, there's the ease of configuration. You can trigger an analysis with just a few clicks, view the list of problems across your entire project, and then configure Qodana in your preferred CI/CD system to establish the quality gate.
    • The second benefit is alignment. Once Qodana is configured in the CI/CD system, you'll be able to see the results of the server-side analysis without leaving your IDE - right out of the box.

Working with databases

  • Reworked the database connection dialog in this release, removing some of the non-essential options that had been confusing users and streamlining the connection workflow. Rider now scans your open solution for connection strings and suggests them inside the dialog.
  • Other notable changes inside this release include:
    • Support for Redis Cluster.
    • New UI for the schema migration dialog.
    • Setting time zones in the Data editor.
    • Support for External Database/Datashare [Amazon Redshift].

F# support

  • F# to C# in-memory references - Enabled F# to C# in-memory references, so you don't have to build C# projects for referencing F# code to see the changes. This change leads to better cross-language refactorings and navigation, as the F# compiler service now always looks at the actual C# sources, in addition to the already working C# to F# in-memory references.
  • Support for IntelliJ Platform language injections - Added support for IntelliJ Platform language injections, so you can use various frontend languages inside F# literals, as well as access databases, open web links or issues, and more.
  • Go to File Member - The new Go to File Member popup is now available for F#, making it easier to see the file structure and to navigate to members from base types.
  • Updates for union case patterns - Introduced some cool improvements that make it easier for you to work with union case patterns:
    • A new context action to convert union case patterns to named field patterns.
    • New rules for using named field patterns for union cases.
    • Improved rules for union case patterns, so the deconstruction popup doesn't prevent you from typing the pattern manually.

Plugins

  • Settings Sync plugin - The feature sets of the IDE Settings Sync and Settings Repository plugins have been merged into a single solution: the new Settings Sync plugin.
  • LSP support for plugin developers - This release comes with support for the LSP API for plugin developers. The LSP API is mainly aimed at plugin developers who want to use a specific LSP server for coding assistance in their IDE. If you have your own self-made programming language or framework, you can get it supported in the IDE by writing an LSP server and a plugin. Currently the LSP support includes errors/warnings highlighting, quick-fixes, code completion, and navigation to declarations.
  • Feature Trainer for Rider - This release introduces the Feature Trainer, a new interactive tool designed to familiarize both new and experienced users with the extensive features and workflows offered by the IDE. The Feature Trainer employs a hands-on learning approach, providing step-by-step instructions and sample code to practice on. The Feature Trainer is only available in the new UI.

Accessibility improvements

  • Improved Rider's accessibility to make sure that all users, including those who are blind or visually impaired, can fully engage with the product. The improvements include:
    • Proper labeling and descriptions of UI elements.
    • Improved keyboard navigation and control in Settings / Preferences.
    • Enhanced support for screen readers, such as NVDA, particularly in the Run tab.
    • Improved accessibility of documentation, help resources, and NuGet package management.
    • Improved accessibility in the Windows Forms designer.

Miscellaneous

  • ARM32 support for the remote debugger - In addition to existing support for ARM64, Rider now introduces support for remote debugger tools uploaded to a remote machine running on ARM32, like Raspberry Pi. To attach to such a remote process, please use the Attach to Process dialog.
  • Terminal migration to ConPTY on Windows - JetBrains Rider includes an embedded terminal emulator to work with a command-line shell from inside the IDE. Previous versions of Rider relied on a third-party WinPTY library as a terminal emulation layer on Windows. For this release, this has been switched to the OS-provided ConPTY for versions of Windows that support it. While no visible changes are expected, the switch opens the door for further improvements to the terminal and the run console.
Rider

Rider

.NET 및 게임 개발자를 위한 최고의 크로스 플랫폼 IDE입니다.

Rider 도 구매할 수 있습니다:

궁금한 점이 있으세요?

JetBrains 사 제품 라이선스 담당자와 라이브 채팅