Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Launch and host XAML-based Plugins within Terminal #4719

Closed
sharpninja opened this issue Feb 25, 2020 · 3 comments
Closed

Launch and host XAML-based Plugins within Terminal #4719

sharpninja opened this issue Feb 25, 2020 · 3 comments
Labels
Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Resolution-Duplicate There's another issue on the tracker that's pretty much the same thing.

Comments

@sharpninja
Copy link

Description of the new feature/enhancement

I know this may seem way out there, but hear me out.

Windows Terminal is about tools. A single window open that has our command line tools in one place. There are many things that go along with that that are better when provided as a GUI, such as Settings for tools. In addition, other things, such as package managers, greatly benefit from having a GUI to observe listings of packages and their details. These GUIs are related to our open command prompts and it would be great of they could be shown in the same Window.

Proposed technical implementation details (optional)

A Visual Studio template would be created to build a Windows Terminal Plugin. It would have metadata that would specify commands that could be typed in the terminal that would be processed by Windows Terminal upon hitting Enter on the keyboard (and only when invoked from the keyboard) that if found would pass the entire command line to the Plugin. Example:

!packages nuget list Microsoft.Extensions.*

This would invoke a plugin named "packages" which would in turn parse the command line and determine it needed to get a list of packages from nuget that match Microsoft.Extensions.* and display the results in the GUI. It would only interact with the Profile it was invoked from.

Other examples are accelerators for Dotnet core such that a Plugin could be open with a set of buttons for common actions/macros that the user may need. This would be great for system admins who might administer 50 machines and run the same powershell commands on each of them. Currently she would have to add aliases to profiles on potentially each machine. No bueno! This way she sets up some macros in a GUI, enables the plugin for that Profile and then can invoke her predetermined commands.

Another really useful plugin would be a Text Editor that could be used for profiles and scripts. The data would be piped to/from the Console for reading and saving. Another example is a file manager that could be used to move data between profiles over encrypted pipes.

Performing actions against a profile would always be done through the Plugin system. Communication would be STDIN/STDOUT to the console. A GUI could take the whole window or split the window vertically or horizontally and be resizable. Plugins would be exposed through a Store and could be imported via nuget packages.

@sharpninja sharpninja added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Feb 25, 2020
@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Feb 25, 2020
@DHowett-MSFT
Copy link
Contributor

We liked this idea so much that we already allocated /dup #997 to it. 😄

@ghost
Copy link

ghost commented Feb 25, 2020

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost ghost closed this as completed Feb 25, 2020
@ghost ghost added Resolution-Duplicate There's another issue on the tracker that's pretty much the same thing. and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Feb 25, 2020
@DHowett-MSFT
Copy link
Contributor

Also germane to the discussion is #4000.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Resolution-Duplicate There's another issue on the tracker that's pretty much the same thing.
Projects
None yet
Development

No branches or pull requests

2 participants