JetBrains Community Contributor
I C# .NET @ http://github.com/Flash0ver
Live: @FlashOWare.bsky.social
Speaking: http://sessionize.com/FlashOver
I just left a couple of rough months behind me, so your kind words are a true pick-me-up for my spirit.
You are very welcome.
I just left a couple of rough months behind me, so your kind words are a true pick-me-up for my spirit.
You are very welcome.
We are now starting a series on #Benchmarking #Roslyn Compiler Extensions.
We begin with setting up the project and building a first prototype.
bsky.app/profile/flas...
We allocate this series to build a library that supports Benchmarking of #Roslyn Compiler Extensions, like #dotnet Analyzers and #CSharp Source-Generators.
2025-07-23 Wednesday
17:00 UTC
#2codeOrNot2code
www.youtube.com/watch?v=Rbu8...
We are now starting a series on #Benchmarking #Roslyn Compiler Extensions.
We begin with setting up the project and building a first prototype.
bsky.app/profile/flas...
Today, we will inspect, together with @kevingosse.net, what methods and calls really are
bsky.app/profile/flas...
and then - probably next episode - kick-start our journey of Tools for Roslyn Compiler Extensions; starting with Benchmarking.
We'll ping you when announced.
Date: 2025-07-09 Wednesday
Time: 17:00 UTC
#2codeOrNot2code
www.youtube.com/watch?v=JhBI...
Today, we will inspect, together with @kevingosse.net, what methods and calls really are
bsky.app/profile/flas...
and then - probably next episode - kick-start our journey of Tools for Roslyn Compiler Extensions; starting with Benchmarking.
We'll ping you when announced.
But we are about to get back into live-streaming next week, and will be building up towards Benchmarking of Roslyn Compiler Extensions.
I'll get back to you once we actively start that endeavour.
But we are about to get back into live-streaming next week, and will be building up towards Benchmarking of Roslyn Compiler Extensions.
I'll get back to you once we actively start that endeavour.
Example:
Should you use a type from "Microsoft.CodeAnalysis.CSharp.Workspaces" in your Analyzer or Suppressor or Generator, but your Extension is loaded in a Build/Compilation-Scneario (only Editor-Scenarios usually require the Workspaces-APIs to be loaded), then your Extension might not work.
Example:
Should you use a type from "Microsoft.CodeAnalysis.CSharp.Workspaces" in your Analyzer or Suppressor or Generator, but your Extension is loaded in a Build/Compilation-Scneario (only Editor-Scenarios usually require the Workspaces-APIs to be loaded), then your Extension might not work.
The reason for this guideline is that Roslyn is a Library which can be hosted by any tool, so the Extension-Author does not necessarily know under which environment the Compiler will run and whether, e.g., the Workspaces-Assembly is loaded or just "Microsoft.CodeAnalysis.CSharp/VisualBasic".
...
The reason for this guideline is that Roslyn is a Library which can be hosted by any tool, so the Extension-Author does not necessarily know under which environment the Compiler will run and whether, e.g., the Workspaces-Assembly is loaded or just "Microsoft.CodeAnalysis.CSharp/VisualBasic".
...
And for NuGet, you can pack them together in PackagePath="analyzers/dotnet/cs".
I usually have a separate CSPROJ that only represents the NuGet package and packs all netstandard2.0 libraries together.
...
And for NuGet, you can pack them together in PackagePath="analyzers/dotnet/cs".
I usually have a separate CSPROJ that only represents the NuGet package and packs all netstandard2.0 libraries together.
...
For maximum compatibility and safety, separate Roslyn-Extensions by Diagnostics-API (Analyzers + Suppressors + Generators) and Workspaces-API (Fixers + Refactorings), as well as separate Compiler-Extensions by Language (Common / CSharp / VisualBasic).
...
For maximum compatibility and safety, separate Roslyn-Extensions by Diagnostics-API (Analyzers + Suppressors + Generators) and Workspaces-API (Fixers + Refactorings), as well as separate Compiler-Extensions by Language (Common / CSharp / VisualBasic).
...
I got mine from @updateconference.bsky.social #UpdateConference
I got mine from @updateconference.bsky.social #UpdateConference