The extension delivers a multi-target C# (.NET 4.0, .NET 4.5 and .NET Standard) project template; imbACE – Advanced Console Environment, imbSCI – Coding for Science project and item templates, and:
- General code snippets
- Data annotation snippets (imbSCI)
- imbACE code snippets (Console application)
Item templates cover: namespace XML documentation, imbACE Advanced Console and Plugin classes, imbSCI Global configuration and imbNLP Transliteration definition file.
Project templates contain custom MSBuild target, that makes copy of NuGet .nupkg file to local NuGet repository, after each build.
Project templates
Blank multi-target library project
C# Library project, targeting .NET 4.0, .NET 4.5 and .NET Standard 2.0.
The .csproj file contains:
- optional build instruction to copy .nupkg file into local NuGet repository
- declaration of compiler tags for each target
- other helpful things.
The main purpose of this template is to help you with setting up a multi-target project – a feature that is still only partially supported by the Visual Studio 2017 GUI (15.7.4). Other goals of the template design are to streamline Build/Pack/Local Deployement of the NuGet Packages, now integrated with the new Visual Studio Project structure – aka: the SDK project type / PackageReference / .NET Standard project.
Learn more:
Tutorial on using this Project Template
imbACE Console Application multi-target
Project for imbACE console application, based on the "Blank multi-target library project", with custom: Advanced Command Console, State and Workspace classes.
Targets: .NET 4.0, .NET 4.5 and .NET Standard.
The imbACE framework is all about rapid console tool applications development. The project's goal is to provide completely automated UI/TUI/GUI generation, for multiple platforms - using data annotation and meta information. The concept is: you should code only your scientific contribution, wasting no time on the interface and reporting side of the project. The framework is made for scientists, researchers and technical professionals, developing custom software tools for their specific applications.
Learn more:
Tutorial on using this Project Template
See also:
Item templates
Namespace documentation
C# file containing declarations of NamespaceDoc and NamespaceGroupDoc, private classes that are placeholders for XML documentation on the namespace and namespace group.
See also:
imbSCI Global configuration class
Configuration class for library-level static configuration data
See also:
imbACE Advanced Console
aceAdvancedConsole implementation bundle, with aceAdvancedState and aceAdvancedWorkspace classes.
See also:
imbACE Advanced Console Plugin
Template for a imbACE Advanced Console Plugin class
See also:
imbNLP Transliteration definition
Transliteteration specification file, used by imbNLP.Transliteration library
See also:
Snippets
All snippets start with _imb prefix
General snippets
Snippets, general in nature, not related to the imbVeles framework and its libraries.
Complete bundle of String extension methods used to test, select, select all, and replace matches, with specified Regex expression
Inserts static Regex property and String extension evaluation method
Static, class instance property, with thread-safe lazy initialization, performed on the first Get call
Bindable property for INotifyPropertyChanged, with general data annotation attributes
Private locking property, to be consumed by thread lock instruction
Data annotation snippets
Snippets designed to ease use of imbSCI advanced reporting, documentation and imbACE (G)UI generation, trough attribute driven data annotation.
Boolean property with common imbSCI data annotation attributes
Int32 property for natural number count, with common data annotation attributes
Int32 property for natural number count, with common data annotation attributes
Double property for ratio values (decimals), formated as percentage
String property with some data annotation
Property for class implementing IFileDataStructure, that will be saved in a separate file, in the subdirectory
See also:
imbACE snippets
The snippets designed to ease imbACE Console Application development.
Declaration of an ACE Operation method for Command Console, Screen, Console plugin - invocable from ACE Script
Plugin property at IAceCommandConsole, with thread-safe lazy initialization
Getting started
Other resources
Project's web site
API documentation
NuGet profile