.NET Tools
Essential productivity kit for .NET and game developers
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
orcompose.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.
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.
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 itemAdd(item)
into anISet
collection.
- To remove a
ContainsKey(key)
, check before adding or overriding a value into anIDictionary
collection when possible.
- To use
TryAdd(key, value)
for anIDictionary
collection when possible.
- To use
TryGetValue(key, out value)
for anIDictionary
collection when possible.
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.