Jvw.DevToys.SemverCalculator extension #1333
Replies: 6 comments 15 replies
-
I noticed the documentation mentions to create an unique name for settings by using the tool name. name: $"{nameof(MyGuiTool)}.{nameof(mySetting)}", // Unique name for the setting. Use the tool name to avoid conflicts. However when I go to the For example, I created a setting called "HttpAgreed": public static SettingDefinition<bool> HttpAgreed =
new(name: "Jvw.DevToys.SemverCalculator." + nameof(HttpAgreed), defaultValue: false); And this appeared in the Jvw.DevToys.SemverCalculator.Jvw.DevToys.SemverCalculator.HttpAgreed=True Is the suggestion in the docs still relevant? |
Beta Was this translation helpful? Give feedback.
-
@veler Is it correct that if I have my own extension installed in DevToys, and I start a debug session running Visual Studio with my extension, that both extensions (installed-before and debug) referrer to the debug-session? I expected them to not be the same. I tried changing the |
Beta Was this translation helpful? Give feedback.
-
@veler As you can see in my screenshot above, the list of results can be very long. I couldn't find any UI element that had a scrollable option (besides the screen itself). Would it be possible to add a |
Beta Was this translation helpful? Give feedback.
-
I'm experiencing a weird behavior with one particular extension NuGet package; To confirm that the issue is not related to the content, I tried a similar extension ( The output console mentions nothing interesting. @veler Do you know how I can still use This could be an issue with any other packages that DevToys includes, but I have not confirmed that. |
Beta Was this translation helpful? Give feedback.
-
Thanks :) If I may, I will close this discussion for now. |
Beta Was this translation helpful? Give feedback.
-
First of all; awesome tool. Very useful and solid tooling. Also love that it's build in .NET.
Extension
I wanted to share my own extension to DevToys: Jvw.DevToys.SemverCalculator
It's a Semantic Versioning (SemVer) calculator for NPM packages with the official v2.0.0 spec from semver.org.
Download here: https://www.nuget.org/packages/Jvw.DevToys.SemverCalculator
Source code: https://github.com/jerone/Jvw.DevToys.SemverCalculator
Technical
The extension makes a HTTP request to registry.npmjs.org to fetch the package information. This contains a list of all versions ever released by that package. The extension extracts this list of versions and shows it on the screen.
It then takes the semver range input value and shows an indicator on all versions that match the range.
Learnings
The documentation was clear and complete. Super helpful. Especially the UI examples WITH screenshots.
I did had troubles using the environment variables
DevToysGuiDebugEntryPoint
andDevToysCliDebugEntryPoint
, because they point to the preview version of the application, which is installed in a folder with a space in it "DevToys Preview". For some reason thelaunchSettings.json
in VS cannot handle this. I tried with extra quotes, but no success. For now I hard-coded the paths.During packaging, I initially skipped over the
IncludeAllFilesInTargetDir
step because I thought I did not need this. But my project was referencing another NuGet package (Semver), so I did need this step. The packaging step was complaining about files that were already there, plus it was copying over other.dll
that should not be published (CSharpier). So, I changed to code to explicitly include only the.dll
file that I needed.It was my first official full experience with making an NuGet package, and with the documentation this was very easy.
All UI components were easy to work with. For my use-case I missed some styling feature, like text and border color options, but I solved it with emoji's.
I noticed that it was possible to have your own extension installed and sequentially run the extension via debug. It's a little hard to distinct between the 2 versions, but this could be solved with a
#if DEBUG
around the extension name.Beta Was this translation helpful? Give feedback.
All reactions