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

VSCode-like Shell Integration #13445

Open
5 of 13 tasks
heartacker opened this issue Jul 7, 2022 · 9 comments
Open
5 of 13 tasks

VSCode-like Shell Integration #13445

heartacker opened this issue Jul 7, 2022 · 9 comments
Labels
Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Scenario Product-Terminal The new Windows Terminal.
Milestone

Comments

@heartacker
Copy link

heartacker commented Jul 7, 2022

Description of the new feature/enhancement

https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_69.md#shell-integration

  1. shellIntegration
  2. Command navigation
  3. run-recent-command
  4. Go to recent directory
  5. 👍

Maintainer note: I'm hijacking this issue body, for issue tracking purposes

Main elements of shell integration

Tasks

  1. A11yMAS Area-User Interface Disability-All In-PR InclusionBacklog InclusionBacklog-Windows TerminalWin32 Issue-Feature Needs-Tag-Fix Product-Terminal
  2. Area-CmdPal Area-Settings Help Wanted In-PR Issue-Task Needs-Tag-Fix Product-Terminal
    zadjii-msft
  3. Area-CmdPal Area-Settings Issue-Task Product-Terminal
    zadjii-msft
  4. Area-Settings Issue-Task Product-Terminal
  5. Area-Settings Help Wanted In-PR Issue-Task Product-Terminal good first issue
  6. Area-TerminalControl In-PR Issue-Task Product-Terminal
  7. Area-Settings In-PR Issue-Task Needs-Tag-Fix Product-Terminal
  8. Area-Extensibility Area-Input Area-TerminalControl Area-User Interface Issue-Feature Needs-Second Product-Terminal
    DHowett
  9. 10 of 14
    Area-TerminalControl In-PR Issue-Scenario Needs-Tag-Fix Product-Terminal
    zadjii-msft
  10. Area-TerminalControl Issue-Feature Product-Terminal
  11. Area-TerminalControl Area-User Interface Issue-Feature Product-Terminal

Related, indirectly

References

@heartacker heartacker added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Jul 7, 2022
@ghost ghost added Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Jul 7, 2022
@zadjii-msft
Copy link
Member

I'm tempted to leave this open as a megathread, linking the other things we have planned across the repo:

@WSLUser
Copy link
Contributor

WSLUser commented Jul 8, 2022

Also #6632

@zadjii-msft
Copy link
Member

I actually intentionally omitted #6632 from that list. #6632 is more about an autocomplete menu who's contents are populated based on the words that are currently in the buffer. The rest of these VsCode features are more driven by specific metadata in the prompt to indicate things like the CWD, the command that's run, where the prompt is, etc. One is something exclusively powered by the terminal, the other is powered by a cooperating shell/commandline program.

It's definitely related, but not necessarily "shell integration" 😄

@zadjii-msft zadjii-msft changed the title nice feature from vscode VSCode-like Shell Integration Jul 8, 2022
@zadjii-msft zadjii-msft added Area-User Interface Issues pertaining to the user interface of the Console or Terminal Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Product-Terminal The new Windows Terminal. Issue-Scenario and removed Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. labels Jul 8, 2022
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Jul 8, 2022
@zadjii-msft zadjii-msft added this to the Backlog milestone Jul 8, 2022
@WSLUser
Copy link
Contributor

WSLUser commented Jul 8, 2022

Kitty also has shell integration for various shells. But seems to really intermingle with shells in a way that Iterm2 does not. Wezterm is also looking to implement Iterm2 shell integration from what I saw but nothing has come of that yet other than implementing OSC 7 quite awhile ago.

@zadjii-msft zadjii-msft removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Jul 26, 2022
@Stanzilla
Copy link
Contributor

iTerm also has a really cool password manager that integrates with 1Password for example

@segevfiner
Copy link

VS Code has now enabled its shell integration by default in 1.70.

@khuongduybui
Copy link

I know it's trivial but I really like the command decoration circles too...

@khuongduybui
Copy link

And copy entire command's output!

microsoft-github-policy-service bot pushed a commit that referenced this issue Apr 25, 2023
Adds a "Select command" and a "Select output" entry to the right-click
context menu when the user has shell integration enabled. This lets the
user quickly right-click on a command and select the entire commandline
or all of its output.

This was a "I'm waiting for reviews" sorta idea. Seemed like a
reasonable combination of features. Related to #13445, #11000.

Tested manually.

---------

Co-authored-by: Dustin L. Howett <[email protected]>
zadjii-msft added a commit that referenced this issue Aug 15, 2023
_targets #14943_

When this is true, this will re-use the existing commandline to
pre-filter the results. This is especially helpful for completing a
suggestion based on the text that's already been typed.

Like with command history, this requires that shell integration is
enabled before it will work.## Summary of the Pull Request

## References and Relevant Issues

See also #13445 
As spec'd in #14864 

## Validation Steps Performed

Tested manually
zadjii-msft added a commit that referenced this issue Aug 15, 2023
_targets #15027_

Adds a new suggestion source, `tasks`, that allows a user to open the
Suggestions UI with `sendInput` commands saved in their settings.
`source` becomes a flag setting, so it can be combined like so:

```json
        {
            "keys": "ctrl+shift+h", "command": { "action": "suggestions", "source": "commandHistory", "useCommandline":true },
        },
        {
            "keys": "ctrl+shift+y", "command": { "action": "suggestions", "source": "tasks", "useCommandline":false },
        },
        {
            "keys": "ctrl+shift+b", "command": { "action": "suggestions", "source": ["all"], "useCommandline":true },
        },
```

If a nested command has `sendInput` commands underneath it, this will
build a tree of commands that only include `sendInput`s as leaves (but
leave the rest of the nesting structure intact).


## References and Relevant Issues

Closes #1595

See also #13445 
As spec'd in #14864 

## Validation Steps Performed

Tested manually
@zadjii-msft
Copy link
Member

zadjii-msft commented Feb 16, 2024

fhl-task-pane-expando-000

in dev/migrie/fhl/tasks-pane


Local tasks .wt.json wt.json actions

Since these notes seem to be no where else:

  • 58f7f0e seems to be the last commit for local tasks / suggestions.
  • 4def21a looks like it did all the actual business
  • there's a test file in 0c68bd1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Scenario Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

6 participants