vscode icon indicating copy to clipboard operation
vscode copied to clipboard

Many missing git log arguments in terminal suggest

Open roelandschoukens opened this issue 1 month ago • 9 comments

Does this issue occur when all extensions are disabled?: Yes

VS Code Version:

Version: 1.106.2 (Universal)
Commit: 1e3c50d64110be466c0b4a45222e81d2c9352888
Date: 2025-11-19T16:56:50.023Z
Electron: 37.7.0
ElectronBuildId: 12781156
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 24.5.0

OS: macOS 15.5

This refers to the drop downs created if you enable terminal.integrated.suggest.enabled

Steps to Reproduce:

  1. You need to have GIT installed, and use zsh as your shell
  2. Create a new Terminal (menu: Terminal » New terminal)
  3. type git log --f
  4. only --follow is suggested, while git has many more options that start with --f.

It in general seems that this feature does not work together at all with zsh autocompletions.

roelandschoukens avatar Nov 24 '25 22:11 roelandschoukens

The log completions are defined here:

https://github.com/microsoft/vscode/blob/e8c2734b3bfec6ad97e6d22e99a750c13ea2441f/extensions/terminal-suggest/src/completions/git.ts#L6286-L6357

Tyriar avatar Dec 08 '25 20:12 Tyriar

OK so it will by design not take zsh autocompletions into account. I have completions for some aliases set up so I will probably leave this feature disabled.

There is a long shell script to generate completions for GIT, see git-completion.bash

roelandschoukens avatar Dec 08 '25 21:12 roelandschoukens

Aliases should work and not sure what you mean by this:

OK so it will by design not take zsh autocompletions into account.

meganrogge avatar Dec 08 '25 21:12 meganrogge

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.

Happy Coding!

You can define new autocompletion routines in shells, eg. here is the manual for Bash:

  • https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html

But above we have a typescript file that I guess is shipped with VScode. So I was assuming the completions in terminal.integrated.suggest don't come from the shell at all, instead VScode ships its entirely own autocompletion files. So if I define extra completion rules in my .bashrc (or its zsh equivalent), terminal.integrated.suggest wouldn't know about those.

roelandschoukens avatar Dec 08 '25 23:12 roelandschoukens

@roelandschoukens bash aliases and builtins will get pulled from a new shell session (via this file). Completions are defined cross-shell here: https://github.com/microsoft/vscode/blob/4cf8c568e90ac5f861463d1761197ef4956ccbac/extensions/terminal-suggest/src/completions

Tyriar avatar Dec 09 '25 14:12 Tyriar

It is by design that shell native completions don't work. We investigated that approach and it was too much effort to support each shell's own system, each of which had various capabilities and limitations, instead opting for approach fig used.

Tyriar avatar Dec 09 '25 14:12 Tyriar

Hello @meganrogge , since this issue is marked as "good first issue", can I work on it and add a complete list of git log options?

MohamedEmirHajji avatar Dec 09 '25 20:12 MohamedEmirHajji

Yep!

meganrogge avatar Dec 09 '25 21:12 meganrogge