# Package installation UI

**URL:** https://discourse.julialang.org/t/package-installation-ui/58231
**Category:** VS Code
**Tags:** gsoc
**Created:** [March 30, 2021, 2:18pm UTC](https://discourse.julialang.org/t/package-installation-ui/58231 "2021-03-30T14:18:05Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![Abdulrhmn\_Ghanem](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abdulrhmn_ghanem/32/205482_2.png) [@Abdulrhmn\_Ghanem](https://discourse.julialang.org/u/Abdulrhmn_Ghanem)
#### Post date: [March 30, 2021, 2:18pm UTC](https://discourse.julialang.org/t/package-installation-ui/58231/1 "2021-03-30T14:18:05Z")

</div>

I am willing to work on the VSCode extension for GSoC.  
Just to warm up I tried to work on the [Package installation UI](https://julialang.org/jsoc/gsoc/vscode/#package_installation_ui) idea. This evening I hacked something together. For now, it can:

- Install the packages in the `toml` files,
- display the installed packages as shown below, I know it doesn’t look like the actual extension marketplace!  
 ![2021-03-30_16-03](https://global.discourse-cdn.com/julialang/original/3X/4/6/46ad159cc21d8b60e8eccd8ca7f69a89081831e5.png)

One thing I am sure about is which package registry should the search use?

---

<div class="post-metadata">

### Author: ![Abdulrhmn\_Ghanem](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abdulrhmn_ghanem/32/205482_2.png) [@Abdulrhmn\_Ghanem](https://discourse.julialang.org/u/Abdulrhmn_Ghanem)
#### Post date: [March 30, 2021, 2:20pm UTC](https://discourse.julialang.org/t/package-installation-ui/58231/2 "2021-03-30T14:20:19Z")

</div>

@davidanthoff @pfitzseb, I would appreciate your input!

---

<div class="post-metadata">

### Author: ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)
#### Post date: [March 30, 2021, 8:12pm UTC](https://discourse.julialang.org/t/package-installation-ui/58231/3 "2021-03-30T20:12:24Z")

</div>

Awesome! That is definitely a feature that would help a lot.

In terms of UI, my thinking originally was that this would be implemented via a [custom editor](https://code.visualstudio.com/api/extension-guides/custom-editors) for `Project.toml` files. I guess the route you took now was to put an installed package editor in the sidebar, and that would presumably correspond to the currently active environment, right? I think I see good arguments for both approaches right now, not sure what the best story there would be…

---

<div class="post-metadata">

### Author: ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)
#### Post date: [March 30, 2021, 8:36pm UTC](https://discourse.julialang.org/t/package-installation-ui/58231/4 "2021-03-30T20:36:00Z")

</div>

Another option would be code-lenses in a normal editor.

---

<div class="post-metadata">

### Author: ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)
#### Post date: [March 31, 2021, 1:46am UTC](https://discourse.julialang.org/t/package-installation-ui/58231/5 "2021-03-31T01:46:58Z")

</div>

A language server for Project.toml files!

---

<div class="post-metadata">

### Author: ![Abdulrhmn\_Ghanem](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abdulrhmn_ghanem/32/205482_2.png) [@Abdulrhmn\_Ghanem](https://discourse.julialang.org/u/Abdulrhmn_Ghanem)
#### Post date: [March 31, 2021, 4:46am UTC](https://discourse.julialang.org/t/package-installation-ui/58231/6 "2021-03-31T04:46:37Z")

</div>

> [@davidanthoff](#):
>
> . I guess the route you took now was to put an installed package editor in the sidebar, and that would presumably correspond to the currently active environment, right?

Yes.  
The custom editor will give more freedom, and won’t be too constrained by space. But I am not sure how code-lens and custom language server will handle installing new packages.

---

<div class="post-metadata">

### Author: ![Abdulrhmn\_Ghanem](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abdulrhmn_ghanem/32/205482_2.png) [@Abdulrhmn\_Ghanem](https://discourse.julialang.org/u/Abdulrhmn_Ghanem)
#### Post date: [April 4, 2021, 12:39pm UTC](https://discourse.julialang.org/t/package-installation-ui/58231/7 "2021-04-04T12:39:52Z")

</div>

Can we move this discussion to GitHub?

---

<div class="post-metadata">

### Author: ![owiecc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/owiecc/32/8894_2.png) [@owiecc](https://discourse.julialang.org/u/owiecc)
#### Post date: [June 12, 2021, 5:35pm UTC](https://discourse.julialang.org/t/package-installation-ui/58231/8 "2021-06-12T17:35:32Z")

</div>

Not sure where the current discussion is on this topic but it would be nice if this interface had a clear way of displaying what the current environment is and have the ability to activate the local env and install the packages in that environment.

I can see a lot of people just installing packages in the default environment. Maybe it would be nice to display a short note what environments are if none is not initiated.

---

<div class="post-metadata">

### Author: ![Abdulrhmn\_Ghanem](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abdulrhmn_ghanem/32/205482_2.png) [@Abdulrhmn\_Ghanem](https://discourse.julialang.org/u/Abdulrhmn_Ghanem)
#### Post date: [June 12, 2021, 9:27pm UTC](https://discourse.julialang.org/t/package-installation-ui/58231/9 "2021-06-12T21:27:47Z")

</div>

The discussion has been moved to [GitHub](https://github.com/julia-vscode/julia-vscode/pull/2096).  
Thanks for your suggestion. Currently, the active environment is displayed in the status bar at the bottom, as shown below.

 ![image](https://global.discourse-cdn.com/julialang/original/3X/f/3/f3670b08882b2ddff557b0eaefbffd55dd1208e1.png)  
You can switch between different environments by clicking on it and selecting the one you need.
