.NET Tools News Rider

Rider 2023.1 EAP2 Is Here!

The new EAP build is available for download! Let’s have a look at what’s inside: 

Docker

Now you can add Docker Compose for your project to easily handle multiple containers at once. To do so, call up the context menu for a project and select Add | Containers | Docker Compose Support to generate:

  • A Dockerfile for the project, if it’s missing. 
  • A compose.yaml file in the Solution Items solution folder above all of the projects in the tree.
  • A couple of run configurations to run either Dockerfile or compose.yaml.

If compose.yaml already exists in the solution (either for the same project or another one) when you execute the Docker Compose Support action, then it will add one more service to the file.

Game development

Unity support

Rider 2023.1 EAP2 can more accurately detect serialized fields in your code, as it now supports the [SerializeReference] attribute, in addition to the previously supported [SerializedField] attribute.

Starting with Unity 2022.2, UI Toolkit is the recommended way to write UI extensions for Unity Editor. To support the changes, we’ve added 3 new file templates: Editor Window, Property Drawer, and Custom Editor. They will be used when your project is compatible with Unity 2022.2 or later. The file templates that use the Immediate Mode GUI are still available for previous Unity versions; they have been renamed to have IMGUI in their names.

Unreal Engine support

Epic Games has merged UnrealHeaderTool (UHT) into UnrealBuildTool (UBT) in Unreal Engine 5.1 and 5.2. Rider 2023.1 EAP builds are ready for these changes, and the UHT integration in Rider will work for the new UE versions. Rider EAP builds also support recent updates to the Blueprints file format, which will be included in UE 5.2.

Earlier in this Rider 2023.1 EAP, we introduced support for the build message format generated by the Clang engine when building Unreal Engine games on macOS and Linux. Now all Clang warning/error messages in the build output tool window are parsed correctly, including links. Double-clicking on the link navigates you to the exact place in the code where the warning or error exists.

Compiler error output showing clang errors highlighted, with clickable link to navigate to file

C# support

Extract common property pattern

If you use property pattern matching heavily, try our new inspection with a quick-fix to extract common elements from several property patterns when they come together in the code flow. The code generated by the Extract common property pattern quick-fix helps you reduce code repetition by moving common property patterns to a higher level pattern.

Extract common property pattern

Reducing the number of lookups in collections

We’ve introduced a set of inspections with corresponding quick-fixes to optimize and speed up your work with different types of collections by reducing the number of lookups in collections:

  • To remove a Contains(item), check before adding the item Add(item) into an ISet collection.
To remove a Contains(item)
  • To remove a ContainsKey(key), check before adding or overriding a value into an IDictionary collection when possible.
To remove a ContainsKey(key)
  • To use TryAdd(key, value) for an IDictionary collection when possible.
To use TryAdd(key, value)
  • To use TryGetValue(key, out value) for an IDictionary collection when possible. 
To use TryGetValue(key, out value)

Run configuration

Sometimes you may want to run your application on a runtime that is installed in a custom folder. For this case, we’ve introduced an Add Custom Runtime option for the Runtime setting on the Run/Debug Configurations page.

We’ve also added paths to the default runtime versions in the Runtime dropdown list.

We’ve also added support for the DebugRoslynComponent command from the launchSettings.json file to help you debug Roslyn components with ease.

That’s it for today! If you are interested in seeing the full list of fixes and improvements in this build, check out this page.

image description