Skip to content

[Bug]: Not apparently possible to install multiple extensions from config file #6149

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

Open
4 tasks done
tomqwpl opened this issue Apr 14, 2023 · 2 comments
Open
4 tasks done
Labels
bug Something isn't working

Comments

@tomqwpl
Copy link

tomqwpl commented Apr 14, 2023

Is there an existing issue for this?

  • I have searched the existing issues

OS/Web Information

  • Web Browser:
  • Local OS: Windows
  • Remote OS: Linux
  • Remote Architecture: amd64
  • code-server --version: 4.10.1

Steps to Reproduce

Attempting to run code-server with a config file such as:

install-extension:
  - extension.number1
  - extension.number2

This fails with (e.g):

Installing extensions...
Extension 'ms-python.python,ms-vscode.makefile-tools' not found.
Make sure you use the full extension ID, including the publisher, e.g.: ms-dotnettools.csharp
Failed Installing Extensions: ms-python.python,ms-vscode.makefile-tools

The problem seems to be in the conversion of the config file into command line arguments:

  const configFileArgv = Object.entries(config).map(([optName, opt]) => {
    if (opt === true) {
      return `--${optName}`
    }
    return `--${optName}=${opt}`
  })

My guess is that there "opt" is a []string, so it ends up constructing "--install-extension=extension.number1,extension.number2"

Expected

Both extensions should be installed in the same way as if multiple install-extension command line arguments were passed

Actual

code-server errors on startup.

Logs

No response

Screenshot/Video

No response

Does this issue happen in VS Code or GitHub Codespaces?

  • I cannot reproduce this in VS Code.
  • I cannot reproduce this in GitHub Codespaces.

Are you accessing code-server over HTTPS?

  • I am using HTTPS.

Notes

No response

@tomqwpl tomqwpl added bug Something isn't working triage This issue needs to be triaged by a maintainer labels Apr 14, 2023
@code-asher
Copy link
Member

code-asher commented Apr 14, 2023

Oh right the parser expects the flag to repeat --install-extension <id> --install-extension <id> but duplicated keys are not possible in yaml. We should support splitting on commas for sure.

@code-asher
Copy link
Member

Although maybe just handling arrays in configFileArgv would be better. Comma split would be nice since then we could use it on the command line as well since the repeating flag syntax is a bit unwieldy.

@code-asher code-asher removed the triage This issue needs to be triaged by a maintainer label Jul 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants