NMyVision.CodeWriter
1.0.1
Prefix Reserved
dotnet add package NMyVision.CodeWriter --version 1.0.1
NuGet\Install-Package NMyVision.CodeWriter -Version 1.0.1
<PackageReference Include="NMyVision.CodeWriter" Version="1.0.1" />
<PackageVersion Include="NMyVision.CodeWriter" Version="1.0.1" />
<PackageReference Include="NMyVision.CodeWriter" />
paket add NMyVision.CodeWriter --version 1.0.1
#r "nuget: NMyVision.CodeWriter, 1.0.1"
#:package NMyVision.CodeWriter@1.0.1
#addin nuget:?package=NMyVision.CodeWriter&version=1.0.1
#tool nuget:?package=NMyVision.CodeWriter&version=1.0.1
NMyVision.CodeWriter
Fluent code-generation writer for .NET: indentation and bracket management, first/last-aware list writing, identifier casing, and CLR-to-C# type name mapping.
| Package | Target | Contents |
|---|---|---|
NMyVision.CodeWriter |
netstandard2.0, zero dependencies | CodeWriter, EachContext, TextConverter, TypeName, string extensions |
CodeWriter
var w = new CodeWriter();
foreach (var index in Enumerable.Range(1, 15))
{
var list = Enumerable.Range(1, index);
w.Write("public static void Watch<");
w.Write(list, (a, c) => $"T{a}{c.TrailingComma()}");
w.Write(">(");
w.Write(list, (a, c) => $"Signal<T{a}> a{a}{c.TrailingComma(withSpace: true)}");
w.Write(") { ... }");
w.WriteBlankLine();
}
string code = w; // implicit conversion
EachContext gives every item IsFirst / IsLast / HasNext, plus
interpolation-friendly TrailingComma(withSpace: false).
Brackets track indentation (WriteOpenBracket / WriteCloseBracket);
CodeWriterOption.SQL swaps {} for ().
TextConverter / string extensions
ToPascalCase, ToCamelCase (acronym-aware: user ID → userID),
ToVariableCase, ToKebabCase (-), ToSnakeCase (_), ToPhraseCase,
ToTitleCase, ToSentenceCase, ToSingular, Strip, Join.
TypeName
TypeName.Map(typeof(List<int?>)) → "List<int?>" — primitives, nullables,
arrays, generics, tuples, anonymous types. TypeName.EscapeIdentifier("class") → "@class".
LINQPad
The optional live preview is a self-contained LINQPad example.
Install the NMyVision.CodeWriter NuGet package in the query, then run the script.
The essential usage is:
var w = new LiveCodeWriter();
w.DumpContainer.Dump(); // or w.Dump() — renders monospace, updates live
w.WriteLine("generated as you watch");
w.FormatDump(SyntaxLanguageStyle.CSharp); // one-shot syntax-colored dump
Publishing
Pushing a tag named v<version> (for example, v1.0.2) runs the publish
workflow. NuGet Trusted Publishing authenticates the workflow with GitHub OIDC,
so no long-lived NuGet API key is required; the tag version is used for the
published package.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1 | 88 | 8/6/2026 |