microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
162.23k stars 28.55k forks source link

ZSH Completions not working on integrated terminal #223540

Closed devsheva closed 1 month ago

devsheva commented 1 month ago

Type: Bug

I'm using antigen for zsh with ohmyzsh plugin and zsh-completions bundle. The completions perfectly work on my external terminal (my default is Warp), but when using the integrated one in VSCode it doesn't work. When i press tab to get completion, it just starts selecting one of the files in current workdir.

VS Code version: Code 1.91.1 (Universal) (f1e16e1e6214d7c44d078b1f0607b2388f29d729, 2024-07-09T22:07:54.982Z) OS version: Darwin arm64 23.5.0 Modes:

System Info |Item|Value| |---|---| |CPUs|Apple M2 (8 x 2400)| |GPU Status|2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled| |Load (avg)|3, 3, 3| |Memory (System)|16.00GB (0.28GB free)| |Process Argv|. --crash-reporter-id c5c50fd1-9de7-40de-85c9-64405017e16f| |Screen Reader|no| |VM|0%|
Extensions (14) Extension|Author (truncated)|Version ---|---|--- vscode-markdownlint|Dav|0.55.0 vscode-deno|den|3.38.0 prettier-vscode|esb|10.4.0 copilot|Git|1.214.0 copilot-chat|Git|0.17.1 vscode-github-actions|git|0.26.3 git-graph|mhu|1.30.0 vscode-docker|ms-|1.29.1 live-server|ms-|0.4.14 material-icon-theme|PKi|5.7.0 errorlens|use|3.20.0 gitflow|vec|1.2.1 turbo-vsc|Ver|2.0.0 vscode-wakatime|Wak|24.6.0 (1 theme extensions excluded)
A/B Experiments ``` vsliv368cf:30146710 vspor879:30202332 vspor708:30202333 vspor363:30204092 vswsl492:30256859 vscod805:30301674 binariesv615:30325510 vsaa593:30376534 py29gd2263:31024239 vscaac:30438847 c4g48928:30535728 azure-dev_surveyone:30548225 962ge761:30959799 pythongtdpath:30769146 welcomedialog:30910333 pythonnoceb:30805159 asynctok:30898717 pythonregdiag2:30936856 pythonmypyd1:30879173 h48ei257:31000450 pythontbext0:30879054 accentitlementst:30995554 dsvsc016:30899300 dsvsc017:30899301 dsvsc018:30899302 cppperfnew:31000557 dsvsc020:30976470 pythonait:31006305 dsvsc021:30996838 jg8ic977:31013176 pythoncenvpt:31062603 a69g1124:31058053 dvdeprecation:31068756 dwnewjupyter:31046869 newcmakeconfigv2:31071590 legacy_priority:31094926 refactort:31101459 ccplc:31098109 wkspc-onlycs-c:31100201 ```
meganrogge commented 1 month ago

does it work if you disable shell integration, terminal.integrated.shellIntegration.enabled?

devsheva commented 1 month ago

no still the same, but i noticed that it seems only deno completions don't work. they work fine in my external terminal, but in the integrated one it still doesn't provide completions

meganrogge commented 1 month ago

what happens if you manually source your zshrc?

source ~/.zshrc

devsheva commented 1 month ago

same thing, nothing changes

meganrogge commented 1 month ago

only deno completions don't work

do you know where those are defined in your startup scripts? guessing that's not getting run

devsheva commented 1 month ago

i followed this guide. they should be run when doing antigen bundle deno, and as i said they work in my main terminal.

this is my .zshrc


source $HOME/antigen.zsh

# Load the oh-my-zsh's library
antigen use oh-my-zsh

antigen bundles <<EOBUNDLES
    # Bundles from the default repo (robbyrussell's oh-my-zsh)
    git

    # Syntax highlighting bundle.
    zsh-users/zsh-syntax-highlighting

    # Fish-like auto suggestions
    zsh-users/zsh-autosuggestions

    # Extra zsh completions
    zsh-users/zsh-completions

    # Enable asdf
    asdf

EOBUNDLES

# Load the theme
antigen theme robbyrussell

antigen bundle deno
antigen apply

alias dev="cd ~/develop"

eval "$(starship init zsh)"
Tyriar commented 1 month ago

Does it work in the default Terminal.app? Can you show a screenshot of that vs vscode?

devsheva commented 1 month ago

Warp (my main terminal, the working one)

Screenshot 2024-07-25 at 19 06 11

VSCode

Screenshot 2024-07-25 at 19 06 43

Terminal.app

Screenshot 2024-07-25 at 19 08 24
Tyriar commented 1 month ago

@devsheva the task test you show in VS Code is the completions, no? The Warp screenshot is showing their native intellisense which we don't have for zsh right now

devsheva commented 1 month ago

it's the output of autosuggestions plugin of zsh, cause i already typed it so it gets autosuggested from the history. i just typed deno  and pressed Tab key, and it started showing the current dir files instead of completions.

i don't think it's just a Warp feature, cause what sense would have had to make a guide on official deno docs? they just tell there to run those commands in a zsh terminal, no matter where

devsheva commented 1 month ago

I resolved this by adding the ZSH_CACHE_DIR to fpath https://github.com/ohmyzsh/ohmyzsh/issues/12581#issuecomment-2254179750