Open orestesgaolin opened 5 years ago
Hi @orestesgaolin,
Thanks a lot for the feature request! Sharpen for VS4Mac and VS Code - absolutely. Actually, this feature was first requested by @selectnull in private correspondence, soon after I've published the embarrassing v0.1.0 (original quote in Croatian, but I guess it would sound similar in Polish 😃):
E sad kritika... ideja Sharpena je super. Ali... zasto to mora biti plugin na VS? Po meni ispravna arhitektura bi bila da imas library koji implementira funkcionalnost i daje interface prema van. A onda se implemtira VS plugin koji koristi taj lib, mozes napraviti CLI tool koji koristi taj lib, ja mogu napraviti plugin za Vim ili Emacs ili whatever...
Current architecture goes into that direction. The analysis engine is a standalone DLL that does not depend on Visual Studio at all. At the moment it is a .NET 4.6.x DLL but it can for sure easily be ported to .NET Standard. This makes it portable to Linux and Mac. I already wrote one Visual Studio Code extension and have the necessary technical knowledge to write the VS Code plugin. I guess supporting VS4Mac and Rider would be a similar effort.
The reason why it's not done so far is the limited time I have at disposal. At the moment I am the only developer on the project which makes the overal development pace pretty slow. After publishing the support for C# 8.0 I plan to start more actively searching for contributions and I hope there will be developers interested into developing plugins for other IDEs. Let me know if you would maybe be interested.
Regarding the CLI, assuming the Engine is ported to .NET Standard, getting a platform independent CLI (.NET global tool, preferably) would be straightforward. However, usability of such a CLI version concerns me. Just listing the results would be cumbersome, and without the possibility to immediately jump to the corresponding line in code the tool would be very limited. I could imagine case where one would like to have Sharpen as a part of build pipeline, but that somehow colides with the primary intention behin the tool which is learning and understanding new C# features.
Bottom line: plugins for other IDEs make sense and will come one day. At the moment my focus is C# 8.0, afterwards the refactorings and the embedded documentation.
I'm glad my initial critique has found another kindred spirit that can guide this awesome project in the right direction :)
@ironcev thank you for your prompt response! That's great to hear that you think about extending the extension (pun intended).
original quote in Croatian, but I guess it would sound similar in Polish 😃
Ha, ha! It sounds a bit like Polish indeed!
At the moment it is a .NET 4.6.x DLL but it can for sure easily be ported to .NET Standard.
I think there are some really helpful people related to MS that look for OSS projects that aim for .NET Standard. I can think of terrajobst, csharpfritz or shanselman that do this kind of migrations pro publico bono.
The recent 178053b commit ports Sharpen.Engine to .NET Standard 2.0 and represents the first step in the direction of supporting multiple platforms and IDEs.
Any update on that? Sharpen for VS Code and/or Rider would be awesome (even better is based on .net core ;))
As a .NET developer I would love to use this extension in VS4Mac and VS Code.
Alternatively, some kind of cross-platform CLI interface could be useful.