ConsoleAppVisuals 3.6.0

Prefix Reserved
dotnet add package ConsoleAppVisuals --version 3.6.0
                    
NuGet\Install-Package ConsoleAppVisuals -Version 3.6.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ConsoleAppVisuals" Version="3.6.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ConsoleAppVisuals" Version="3.6.0" />
                    
Directory.Packages.props
<PackageReference Include="ConsoleAppVisuals" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ConsoleAppVisuals --version 3.6.0
                    
#r "nuget: ConsoleAppVisuals, 3.6.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=ConsoleAppVisuals&version=3.6.0
                    
Install ConsoleAppVisuals as a Cake Addin
#tool nuget:?package=ConsoleAppVisuals&version=3.6.0
                    
Install ConsoleAppVisuals as a Cake Tool

ConsoleAppVisuals

User-friendly .NET visuals library designed for console apps.

version downloads stars coverage license lines

title

Documentation

We highly recommend you to read the documentation to get started with the library. It contains a detailed guide on how to use the library, its features, and additional articles for the curious ones.

First steps into the library

Principle

The library is designed to be user-friendly and easy to use. It is based on the concept of "visuals" which are elements that can be displayed in the console. There are two types of visuals:

  • Passive visuals: elements that do not change by themselves, you may display several from the same type at the same time
  • Interactive visuals: elements that can be updated and create a response that can be collected, you may display only one at a time
  • Animated visuals: in-between passive and interactive visuals, they provide an interaction to stop them but do not require a response, you may display only one at a time.

These visuals are stored in Window as a list. From this class, you can display the visuals, add, remove, or update them. Each one of the visual element has its rendering method that lets the Window display it.

The basics of the interaction between the library and the console are defined in the Core class.

Install

Install the library for your project using the .NET CLI:

dotnet add package ConsoleAppVisuals

Install the library for Visual Studio users, go through this tutorial.

Use flow

After installing the library, start by adding the following statement at the beginning of your file:

using ConsoleAppVisuals;
using ConsoleAppVisuals.PassiveElement;
using ConsoleAppVisuals.InteractiveElement;

And then, add the following line to your Main method to set up the console:

Window.Open();

The first step is to create an element to display. For example, let's create a Title element:

Title example = new Title("Hello world!");

Then, you can add it to Window:

Window.AddElement(example);

Finally, you can display the Window:

Window.Render(example);

Do not forget to close the Window at the end of your program:

Window.Close();

Supported .NET versions

Version Supported
net9.x
net8.x
net7.x
net6.x
< net6.x

Roadmap

The library is still in active development. The next feature and bug resolutions are listed in the Project section of the GitHub repository.

Security Policy

Consider reading our SECURITY policy to know more about how we handle security issues and how to report them. You will also find the stable versions of the project.

Acknowledgments

Consider reading the ACKNOWLEDGMENTS file. It's a testament to the collaborative effort that has gone into improving and refining our library. We're deeply grateful to all our contributors for their invaluable input and the significant difference they've made to the project.

It also lists the open source projects that have been used to build this library until now.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. To do so, follow the steps described in the CONTRIBUTING file.

We are always open for feedback and discussions. If you are using our library and want to share your use case, or if you have any suggestions for improvement, please feel free to open an issue or open a discussion on our GitHub repository. Your input helps us understand possible use cases and make necessary improvements.

Do not hesitate to star and share the project if you like it!

License

Distributed under the GNU GPL v2.0 License. See LICENSE for more information.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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 is compatible.  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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
3.6.0 139 5/5/2025
3.5.5 113 4/4/2025
3.5.4 143 11/15/2024
3.5.3 124 9/3/2024
3.5.2 194 4/20/2024
3.5.1 145 4/5/2024
3.5.0 130 4/2/2024
3.5.0-rc 109 4/2/2024
3.5.0-beta.1 74 3/28/2024
3.5.0-beta 105 3/27/2024
3.5.0-alpha 92 3/26/2024
3.4.0 142 3/23/2024
3.4.0-beta 110 3/22/2024
3.3.1 145 3/20/2024
3.3.0 160 3/16/2024
3.2.6 140 3/14/2024
3.2.5 134 3/14/2024
3.2.4 154 3/13/2024
3.2.3 150 3/7/2024
3.2.2 150 3/7/2024
3.2.1 127 3/7/2024
3.2.0 144 3/5/2024
3.1.3 146 3/4/2024
3.1.2 140 3/3/2024
3.1.1 163 3/2/2024
3.1.0 163 3/2/2024
3.0.8 128 2/29/2024
3.0.7 152 2/18/2024
3.0.6 145 2/17/2024
3.0.5 191 1/10/2024
3.0.4 148 1/7/2024
3.0.3 159 1/6/2024
3.0.2 164 1/2/2024
3.0.1 135 1/2/2024
3.0.0 138 1/1/2024
2.7.10 149 12/31/2023
2.7.9 129 12/30/2023
2.7.8 148 12/24/2023
2.7.7 136 12/17/2023
2.7.6 137 12/13/2023
2.7.5 149 12/13/2023
2.7.4 122 12/12/2023
2.7.3 136 12/12/2023
2.7.2 124 12/12/2023
2.7.1 105 12/12/2023
2.7.0 128 12/11/2023
2.6.2 119 12/11/2023
2.6.1 124 12/11/2023
2.6.0 133 12/11/2023
2.5.2 132 12/9/2023
2.5.1 153 12/8/2023
2.5.0 105 12/8/2023
2.4.4 130 12/6/2023
2.4.3 177 11/23/2023
2.4.2 133 11/23/2023
2.4.1 132 11/23/2023
2.3.0 132 11/21/2023
2.2.5 144 11/21/2023
2.2.4 145 11/21/2023
2.2.3 128 11/21/2023
2.2.2 130 11/21/2023
2.2.1 130 11/21/2023
2.2.0 148 11/21/2023
2.1.0 160 11/15/2023
2.0.4 119 11/13/2023
2.0.3 175 10/19/2023
2.0.2 142 10/19/2023
2.0.0 141 10/18/2023
1.0.5 129 10/16/2023
1.0.4 150 10/10/2023
1.0.3 126 10/10/2023
1.0.2 135 10/10/2023
1.0.1 136 10/10/2023
1.0.0 160 10/10/2023