Project Description
PoshConsole is a modern graphical PowerShell Console. We aim to have a complete open source implementation of the PSHostUserInterface and PSRawHostUserInterface written in WPF and including a custom ConsoleControl which can be reused for other purposes.
Full Size Image
Features
- The first rich, graphical, interactive console.
- The only PowerShell console with Quake Mode!
- Multi-line input prompt inline the way consoles should be.
- Each sequence of prompt, command, output are paired into a logical unit -- a RichTextBox Paragraph.
- Triple-Click to select a whole sequence.
- Hold Control while pressing the Up or Down arrows to navigate the history one sequence at a time.
- Invoking copy without selecting text will automatically select (and copy) the previous sequence, and pressing it repeatedly will select successively more sequences.
- Boatloads of configurable settings are available in the $Host.PrivateData.Settings variable.
- Autohide upon losing focus.
- Animation on hiding.
- Custom colors for each output pipe, and for every console color
- Integrated graphical Progress display ...
Technical
- Written entirely in C# using WPF for the UI, Event Handling, etc.
- Based on ConsoleControl, a WPF rich-text control for interactive consoles capable of embedding images and controls, etc.
Many things left to do:
- PSHostRawUserInterface.GetBufferContents and PSHostRawUserInterface.SetBufferContents are still not quite right.
- PSHostRawUserInterface.ScrollBufferContents is not implemented at all
- There's no proper input buffering (for keystrokes)
- PSHostRawUserInterface.KeyAvailable is not implemented
- PSHostRawUserInterface.ReadKey is not implemented
- PSHostUserInterface.ReadLineAsSecureString is not implemented
- PSHostRawUserInterface.PromptForCredential is not implemented
- TabComplete still needs work (does not yet complete paths at all)