Skip to content
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
Closed

Support to install and uninstall extensions from cli #691

joaomoreno opened this issue Nov 26, 2015 · 14 comments
Assignees
Labels
feature-request Request for new features or functionality
Milestone

Comments

@joaomoreno
Copy link
Member

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 added the feature-request Request for new features or functionality label Nov 26, 2015
@joaomoreno joaomoreno changed the title Add command to install and uninstall extensions Support to install and uninstall extensions from cli Nov 26, 2015
@pascalberger
Copy link

👍

1 similar comment
@brunolm
Copy link

brunolm commented Dec 8, 2015

👍

@mrmlnc
Copy link
Contributor

mrmlnc commented Mar 8, 2016

It would be very convenient 👍

@chadbr
Copy link

chadbr commented Mar 14, 2016

yes please!

@iam3yal
Copy link

iam3yal 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
Copy link
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

@iam3yal
Copy link

iam3yal 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
Copy link
Member Author

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

@iam3yal
Copy link

iam3yal commented Apr 25, 2016

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

@egamma
Copy link
Member

egamma commented Apr 26, 2016

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

@egamma egamma mentioned this issue May 23, 2016
87 tasks
@vviikk
Copy link

vviikk commented Jun 8, 2016

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

@Tyriar
Copy link
Member

Tyriar commented Jun 8, 2016

Yes this has shipped to both stable and insiders

@jokeyrhyme
Copy link

It is wonderful. Great work! <3

@rwatts3
Copy link

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.
Labels
feature-request Request for new features or functionality
Projects
None yet
Development

No branches or pull requests