microsoft / vscode

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

ZSH on WSL doesn't work with Shell Integration #147913

Closed mukeshgurpude closed 2 years ago

mukeshgurpude commented 2 years ago

Issue Type: Bug

I've ZSH shell on Ubuntu WSL enabled by default. When I open a new terminal session, it shows blank. image

Log Window shows following error:

[2022-04-22 15:37:13.750] [renderer1] [error] ENOENT: no such file or directory, copyfile '/home/anonymous/.vscode-server-insiders/bin/72b4be55fad0d41092d7df8e03b5597c715fd2e2/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-profile.zsh' -> '/tmp/vscode-zsh/.zprofile': Error: ENOENT: no such file or directory, copyfile '/home/anonymous/.vscode-server-insiders/bin/72b4be55fad0d41092d7df8e03b5597c715fd2e2/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-profile.zsh' -> '/tmp/vscode-zsh/.zprofile'

VS Code version: Code - Insiders 1.67.0-insider (72b4be55fad0d41092d7df8e03b5597c715fd2e2, 2022-04-22T06:27:20.290Z) OS version: Windows_NT x64 10.0.22000 Restricted Mode: No Remote OS version: Linux x64 5.10.102.1-microsoft-standard-WSL2

Extensions (17) Extension|Author (truncated)|Version ---|---|--- mayukaithemevsc|Gul|3.2.0 remote-wsl|ms-|0.66.0 rose-pine|mvl|2.2.0 material-icon-theme|PKi|4.16.0 vscode-todo-highlight|way|1.0.5 vscode-github-actions|csc|0.22.0 EditorConfig|Edi|0.16.4 vscode-todo-plus|fab|4.18.4 copilot|Git|1.12.5517 copilot-labs|Git|0.1.122 vscode-mocha-test-adapter|hbe|2.13.3 vscode-test-explorer|hbe|2.21.1 test-adapter-converter|ms-|0.1.6 vscode-coverage-gutters|rya|2.9.1 gitmoji-vscode|sea|1.1.2 vscode-wakatime|Wak|18.1.1 markdown-all-in-one|yzh|3.4.2 (4 theme extensions excluded)
meganrogge commented 2 years ago

It seems that you have enabled shell integration. Adding this to your settings will fix it terminal.integrated.shellIntegration.enabled:false

Could you pls provide me with your settings.json?

mukeshgurpude commented 2 years ago

Strange!! Disabling shellIntegration re-enables zsh. Shell integration with zsh was working earlier before latest insider build.

Here's my settings.json for reference

{
    "zenMode.restore": false,
    "window.autoDetectHighContrast": false,
    "window.restoreWindows": "none",
    "explorer.incrementalNaming": "smart",
    "explorer.openEditors.visible": 3,
    "editor.inlineSuggest.enabled": true,
    "diffEditor.ignoreTrimWhitespace": false,
    "editor.tabSize": 2,
    "files.insertFinalNewline": true,
    "explorer.confirmDragAndDrop": false,
    "terminal.integrated.fontFamily": "'CaskaydiaCove NF', 'Cascadia Mono'",
    "editor.fontLigatures": true,
    "git.confirmSync": false,
    "editor.minimap.enabled": false,
    "typescript.updateImportsOnFileMove.enabled": "always",
    "notebook.cellToolbarLocation": {
        "default": "right",
        "jupyter-notebook": "right"
    },
    "telemetry.telemetryLevel": "off",
    "javascript.preferences.quoteStyle": "single",
    "js/ts.implicitProjectConfig.checkJs": true,
    "terminal.integrated.shellIntegration.enabled": true,
    "explorer.experimental.fileNesting.enabled": true,
    "explorer.experimental.fileNesting.patterns": {
        "*.ts": "$(capture).js, $(capture).*.ts",
        "*.js": "$(capture).js.map, $(capture).min.js, $(capture).d.ts",
        "*.jsx": "$(capture).js",
        "tsconfig.json": "tsconfig.*.json",
        "package.json": "package-lock.json, yarn.lock, .yarnrc, pnpm-lock.yaml",
        "*.tsx": "$(capture).*.tsx, $(capture).css, $(capture).scss",
        ".env": ".env.*"
    },
    "editor.linkedEditing": true
}
meganrogge commented 2 years ago

it's likely something in your .zshrc, .zprofile, or .zshenv file causing this to not work when shell integration is enabled. we've got several issues related to that

meganrogge commented 2 years ago

Fixed in insider's