Quellatalo.CombineCode.CSharp
0.2.0
dotnet add package Quellatalo.CombineCode.CSharp --version 0.2.0
NuGet\Install-Package Quellatalo.CombineCode.CSharp -Version 0.2.0
<PackageReference Include="Quellatalo.CombineCode.CSharp" Version="0.2.0" />
<PackageVersion Include="Quellatalo.CombineCode.CSharp" Version="0.2.0" />
<PackageReference Include="Quellatalo.CombineCode.CSharp" />
paket add Quellatalo.CombineCode.CSharp --version 0.2.0
#r "nuget: Quellatalo.CombineCode.CSharp, 0.2.0"
#addin nuget:?package=Quellatalo.CombineCode.CSharp&version=0.2.0
#tool nuget:?package=Quellatalo.CombineCode.CSharp&version=0.2.0
Quellatalo.CombineCode.CSharp
A library to combine multiple written CSharp source files into one file.
Author: Quellatalo Nin
Overview
The project is still in early stage. It does not scan the local folders as much as IDEs/compilers do.
Please see the requirements to follow the expected code style.
Usage
const string TransformedFile = "Transformed.cs";
CSharpSourceInfo sourceInfo = CSharpSourceInfo.ReadFromFile("Path/To/File.cs");
// combine the targeted source file and its dependencies to one string.
string combinedCode = sourceInfo.CompileToOneSource();
// remove unused methods, xml comments
string trimmedCode = await CSharpSyntaxTree.ParseText(combinedCode)
.TrimUnusedCodeAsync()
.ConfigureAwait(false)
// write the combined code to file
File.WriteAllText(TransformedFile, trimmedCode);
// open the newly written file by using the OS's default behavior
FileUtils.OpenFile(TransformedFile);
Please visit the project repository to see some examples.
Requirements
It's just some standard styling rules:
- SA1402FileMayOnlyContainASingleType
- SA1649FileNameMustMatchTypeName
- IDE0130: Namespace does not match folder structure
Basically, namespaces should have matching folders, and types should have matching .cs
files.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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 is compatible. 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. |
-
net8.0
- Microsoft.CodeAnalysis.CSharp.Workspaces (>= 4.13.0)
-
net9.0
- Microsoft.CodeAnalysis.CSharp.Workspaces (>= 4.13.0)
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 | |
---|---|---|---|
0.2.0 | 240 | 2 months ago | |
0.1.4 | 203 | 3 months ago | |
0.1.3 | 125 | 4 months ago | |
0.1.2 | 96 | 4 months ago | |
0.1.1 | 156 | 5 months ago | |
0.1.0 | 180 | 5 months ago | |
0.0.9 | 140 | 6 months ago | |
0.0.8 | 137 | 7 months ago | |
0.0.7 | 121 | 7 months ago | |
0.0.6 | 176 | 7 months ago | |
0.0.5 | 122 | 7 months ago | |
0.0.4 | 127 | 7 months ago | |
0.0.3 | 114 | 7 months ago | |
0.0.2 | 118 | 8 months ago | |
0.0.1 | 132 | 8 months ago |
**Changed**
- [Breaking] MainRewriter constructor changed