Skip to content

Source To PlantUML First try

Latest

Choose a tag to compare

@Mbprogramming Mbprogramming released this 06 Nov 11:11
· 1 commit to master since this release

Source to PlantUML

This project provides a tool to generate PlantUML diagrams from C#, C++ and Typescript source code or MS-SQL databases. It supports various language features and can be customized to fit different project structures.

Features

  • Class and ER diagrams
  • Support for generics, Inline classes, Parameter properties
  • Customizable output

Prerequisites

  • LLVM is used for analyzing CPP files. It must be installed and added to the PATH environment variable.
  • Node.js is used for TypeScript analysis. Both Node.js and npm must be installed and accessible.
  • A suitable client is required for MS-SQL.
  • Roslyn is used for source code analysis for C#.

Usage

sourcetoplantuml.exe -?

creates this help output

Description:
  Source to PlantUML Helper

Nutzung:
  SourceToPlantUML [command] [options]

Optionen:
  -?, -h, --help  Show help and usage information
  --version       Versionsinformationen anzeigen

Befehle:
  create <outputfile>  Parse the directory and all subdirs and create a class diagram or connect to DB Schema and
                       create a ER diagram.
  list                 List all classes, interfaces, structs, unions, enums, tables and views with or without namespace.

Create Command

Description:
  Parse the directory and all subdirs and create a class diagram or connect to DB Schema and create a ER diagram.

Nutzung:
  SourceToPlantUML create <outputfile> [options]

Argumente:
  <outputfile>  The PlantUML output file

Optionen:
  -l, --language <language>                    The source code language. Supported values are CSharp, CPP, Typescript
                                               and TSQL. [default: CSharp]
  -q, --silent                                 Silent mode
  -s, --sourcedir <sourcedir>                  The source directory
  -x, --connectionstring <connectionstring>    The database connection string
  -n, --usenamespace                           Use namespace as package.
  -i, --includenamespaces <includenamespaces>  List of namespaces to include
  -e, --exclude <exclude>                      List of directories or files (glob pattern) to exclude
  -p, --startpoint <startpoint>                The starting point for structure analysis
  -c, --includedirs <includedirs>              List of directories for include files
  -a, --interactive                            Interactive mode
  -t, --stylesheet <stylesheet>                A style sheet file
  -m, --showmemberusage                        Show member usage in the diagram.
  -?, -h, --help                               Show help and usage information

List Command

Description:
  List all classes, interfaces, structs, unions, enums, tables and views with or without namespace.

Nutzung:
  SourceToPlantUML list [options]

Optionen:
  -l, --language <language>                    The source code language. Supported values are CSharp, CPP, Typescript
                                               and TSQL. [default: CSharp]
  -q, --silent                                 Silent mode
  -s, --sourcedir <sourcedir>                  The source directory
  -x, --connectionstring <connectionstring>    The database connection string
  -n, --usenamespace                           Use namespace as package.
  -i, --includenamespaces <includenamespaces>  List of namespaces to include
  -e, --exclude <exclude>                      List of directories or files (glob pattern) to exclude
  -p, --startpoint <startpoint>                The starting point for structure analysis
  -c, --includedirs <includedirs>              List of directories for include files
  -?, -h, --help                               Show help and usage information

Contributing

Contributions are welcome! Please submit a pull request or open an issue for any bugs or feature requests.