postsharp / Metalama

Metalama is a Roslyn-based meta-programming framework. Use this repo to report bugs or ask questions.
176 stars 5 forks source link

Feature: Jetbrains Rider plugin #246

Open vboiarkin opened 10 months ago

vboiarkin commented 10 months ago

It would be great to have support for Rider the same way we now have in the Visual Studio Plugin.

That would benefit for non-Windows .NET developers.

PostSharpBot commented 10 months ago

Hello @vboiarkin, thank you for submitting this issue. We will try to get back to you as soon as possible. Note to the PostSharp team, this ticket is being tracked in our dashboard under ID TP-34223.

svick commented 10 months ago

Thanks for the suggestion. As mentioned on Slack, this is something we would like to do eventually, but it's currently not on our roadmap.

TimeWanderer commented 6 months ago

This would make it an instant buy for our team. The only reason we do not use Metalama right now is that it lacks Rider plugin.

svick commented 6 months ago

@TimeWanderer Which feature(s) are you missing without the plugin?

TimeWanderer commented 6 months ago

Diff viewer and debugging generated code would be the biggest features. I should note that I didn't have a chance to try it out comprehensively, so I am not sure if you can set them up without the plugin somehow.

gfraiteur commented 6 months ago

Thank you for your feedback.

Note that debugging generated code is not IDE specific. You can create a LamaDebug solution configuration in Rider and it will work.

TimeWanderer commented 6 months ago

Thanks for the info. I assume there is no way to see the diff view or the result view after code generation is applied. Is that correct?

svick commented 6 months ago

@TimeWanderer There is no diff view in Rider. Technically, there is a way to see the generated code, but I'm not sure how useful it's going to be practice.

You can do it by setting <MetalamaEmitCompilerTransformedFiles> and <MetalamaFormatOutput> to true in your csproj and the generated files are then going to be a directory like obj/Debug/net8.0/metalama after you build your project.

niklasstich commented 6 months ago

I've switched back to Rider after Visual Studio finally drove me to the brink of insanity and I mostly debug my aspects now by using compile time tests and looking at the outputs they generate. It's not the absolute smoothest experience but it is definitely a hell of a lot better than Visual Studio, for me personally at least. Still second the request for a Rider plugin though!

gfraiteur commented 6 months ago

@niklasstich It's also the diff feature you're missing?

niklasstich commented 6 months ago

Yes, the diff feature is the main thing that's missing for me personally. What I tend to do is have Visual Studio open in the background just for looking at the diffs but actively working inside Rider, or just use the compile-time tests although those are quite verbose. Seeing what parts of my code are compile-time or run-time would be neat too, as it's not always entirely trivially obvious, but I can bear without that for now.