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

Support to install and uninstall extensions from cli #691

Closed
joaomoreno opened this Issue Nov 26, 2015 · 14 comments

Comments

Projects
None yet
@joaomoreno
Member

joaomoreno commented Nov 26, 2015

From @Tyriar on November 26, 2015 2:1

Similar to apm's install and uninstall commands, it would be great to have an official way of installing and uninstalling extensions via the command line in a platform independent way.

This would enable a nicer way of maintaining a consistent development environment across multiple PCs/platforms without resorting to symlinking the extensions to cloud storage (see #679).

Copied from original issue: Microsoft/vscode-vsce#48

@joaomoreno joaomoreno changed the title from Add command to install and uninstall extensions to Support to install and uninstall extensions from cli Nov 26, 2015

@pascalberger

This comment has been minimized.

pascalberger commented Dec 7, 2015

👍

1 similar comment
@brunolm

This comment has been minimized.

brunolm commented Dec 8, 2015

👍

@mrmlnc

This comment has been minimized.

Contributor

mrmlnc commented Mar 8, 2016

It would be very convenient 👍

@chadbr

This comment has been minimized.

chadbr commented Mar 14, 2016

yes please!

@eyalsk

This comment has been minimized.

eyalsk commented Apr 5, 2016

I posted this in another suggestion but maybe this is a better place to post it so here it goes:

I'd really want to have is a Console that I can use to install extensions, install nuget packages, install npm packages or another kind of packages and the only thing it needs is Intellisense for packages but yeah definitely unified experience for installing packages.

Instead of tackling specific problems, I'd argue that a much better design is to let programmers handle it and what I mean by that is creating a Console that is extensible and is designed for installing packages, whatever the package might be, VSCode extensions, nuget, bower, npm, you name it.

Just to be clear, I mostly suggest the experience of the Package Manager Console available in Visual Stuidio to Visual Studio Code but taking it few steps farther.

@Tyriar

This comment has been minimized.

Member

Tyriar commented Apr 5, 2016

I propose the following args:

# Install
code --install-ext=ms-vscode.csharp
code -i ms-vscode.csharp

# Uninstall
code --uninstall-ext=ms-vscode.csharp
code -u ms-vscode.csharp

# List installed extensions
code --list-ext

With the --list-ext arg returning a flat list of extension aliases:

$ code --list-ext
donjayamanne.python
lukehoban.Go
ms-vscode.csharp
@eyalsk

This comment has been minimized.

eyalsk commented Apr 5, 2016

@Tyriar I'd go with either one of these but the POSIX/GNU**+** style is more appealing to me.

PowerShell style.

# Install
code install-extension ms-vscode.csharp

# Uninstall
code uninstall-extension ms-vscode.csharp

# List installed extensions
code get-extension

POSIX/GNU**+** style.

# Install
code extension --install ms-vscode.csharp
code ext -i ms-vscode.csharp

# Uninstall
code extension --uninstall ms-vscode.csharp
code ext -u ms-vscode.csharp

# List installed extensions
code extension --list
code ext -ls 

+ This is more the git style than real POSIX/GNU conventions but it looks good.

@joaomoreno

This comment has been minimized.

Member

joaomoreno commented Apr 25, 2016

Unfortunately, this will bleed into May. We need further architecture work in the cli and main processes for this to happen. Anything without it would be half baked.

Namely, we need to

  1. Instantiate the gallery and extension services on the CLI process. Both of these have dependencies that are nowadays very hard to instantiate on their own.
  2. Not only that but make that instantiation dynamic, such that the CLI runs as fast as possible to answer the simple questions such as --version and --help.
  3. Further refactor the main processes' services to become more lightweight and possibly used by any process possible.

cc @egamma

@eyalsk

This comment has been minimized.

eyalsk commented Apr 25, 2016

@joaomoreno great! that way you will have more time to think about it! ;)

@egamma

This comment has been minimized.

Member

egamma commented Apr 26, 2016

@joaomoreno makes good sense. I've also updated the April plan.

@joaomoreno joaomoreno referenced this issue May 4, 2016

Closed

Test: Command line extension management #6099

3 of 3 tasks complete

joaomoreno added a commit that referenced this issue May 4, 2016

joaomoreno added a commit that referenced this issue May 4, 2016

joaomoreno added a commit that referenced this issue May 4, 2016

@joaomoreno joaomoreno closed this in 93eb848 May 4, 2016

@egamma egamma referenced this issue May 23, 2016

Closed

May Iteration Plan #6105

86 of 87 tasks complete
@vviikk

This comment has been minimized.

vviikk commented Jun 8, 2016

Since we're in June is this already in the main branch?

@Tyriar

This comment has been minimized.

Member

Tyriar commented Jun 8, 2016

Yes this has shipped to both stable and insiders

@jokeyrhyme

This comment has been minimized.

jokeyrhyme commented Jun 8, 2016

It is wonderful. Great work! <3

@rwatts3

This comment has been minimized.

rwatts3 commented Jul 10, 2017

does this support installing from github repos or git repos ?

like atom apm install somerepo/some-project

@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 18, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.