Our great sponsors
-
rd
Reactive Distributed communication framework for .NET, Kotlin, C++. Inspired by Rider IDE. (by JetBrains)
If I understood it right, ReSharper/Rider is based on an MVVMish architecture using this protocol between a „backend“ (C# language services) and the „frontend“ (IntelliJ-based IDE, VS).
-
Roslyn
The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
Referencing NuGet packages in C# Interactive is currently not supported in Roslyn's `csi.exe`, the execution engine for C# Interactive. Much like Visual Studio, Rider provides a tool window (and code completion) on top of this executable. We don't directly manage that executable itself, though. That said, it looks like the Roslyn folks are planning to add this in one of the next versions: https://github.com/dotnet/roslyn/issues/43918
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
fslang-design
RFCs and docs related to the F# language design process, see https://github.com/fsharp/fslang-suggestions to submit ideas
The feature I’m most eagerly awaiting is F# extension members becoming available for SRTP. This may sound obscure, but it will actually allow us to do fun typeclass-like level stuff in F# (which, I recognize, also may not sound very fun, but it is kind of fun I'd like to have).
-
Currently we're thinking about preparing some sort of intermediate build, where the frontend process will run on M1 natively and the backend process will run on Rosetta 2 (the hypothesis being that performance of the backend process is not as critical for the perceived IDE performance as the frontend). Whether we'll publicly release any results of this experiment fully depends on how stable it is, and how soon Rosetta 2 will be able to run .NET Core programs without significant problems (if I understand correctly, Apple is working on it; see https://github.com/dotnet/runtime/issues/44897 for details).
-
The IntelliJ repo is a rather interesting case, since IntelliJ IDEA Community Edition is open source and available on GitHub. Internally, we have an "ultimate" mono-repo that includes the "community" codebase directly. The "community" repo on GitHub is technically a mirror, and we have an automated process to push changes to it from the ultimate repo. This does mean that our GitHub workflow is a little more manual – we need to pull the patch locally rather than merge the PR directly. The ultimate repo contains the core IntelliJ Platform, as well as bundled plugins, different language support, and IDE entry points.
-
Postfix templates work a bit differently in ReSharper and Rider (C#) than they do in IDEA. They are designed to be more context-specific to not clutter the completion list, so for instance, you won't get a .foreach suggestion when you're on an expression that can't be iterated. Depending on your specific use-case, source templates could be an alternative. There is also the possibility to write a plugin and implement a custom postfix template. Just let us know what you're after, and we might be able to help :-)
-
Avalonia
Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET Foundation community project.
Hey! It seems that hot reload is not supported by Avalonia yet: https://github.com/AvaloniaUI/Avalonia/issues/3266
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
pinvoke
Discontinued A library containing all P/Invoke code so you don't have to import it every time. Maintained and updated to support the latest Windows OS.
I'm using the PInvoke libraries (cf. https://github.com/dotnet/pinvoke/). And if my mouse hovers a split of a second over PInvoke.User32 or even worse PInvoke.Kernel32, VS will freeze for 2 minutes trying to render the very big summary of those classes.