IntelliSense for hex.pm

I just published a Visual Studio Code extension with IntelliSense support for hex.pm Package Versions, because bugged me, that I had to open hex.pm quite often to check which versions for a specified packages are available.

It is inspired by the IntelliSense for npm packages in package.json files. The extension gives you autocomplete suggestions when you are in a mix.exs inside the deps function. See the gif below.

This is my first VSCode extension and a very early release, so expect room for improvement. :slight_smile: Please let me know what you think.

hex-pm-intellisense-vscode

25 Likes

I usually use mix hex.info <package_name>

2 Likes

Heh, I have a similar plugin for npm in Atom, any chance porting this over? ^.^

Yep, but still you would have to switch to a terminal. I like the autocomplete, it’s a little more convenient :slight_smile:

Yea, a port should be not that difficult. If I find some time to learn how Atom Packages work, I will port it. But don’t know when this will be. :stuck_out_tongue:

2 Likes

Just wanted to let you know that I released version 0.2 of the plugin with improved detection of the deps block and better sorting. :slight_smile:

2 Likes

Great work on this! You have a new user here. :slight_smile:

Also, VSCode extension discovery is great, but here is a link to the extension for anyone interested:

VS Marketplace
GitHub

2 Likes

Exactly what I was looking for!

@benlime are you also going to implement package search? Something like when you start writing “:httpoi…” you have a list of libraries with description. Same as package.json dependencies on vscode

1 Like

Thats a nice idea. Will look into it!

2 Likes

Version 0.3.0 is now available. This should noticeable improve the ux by also providing suggestions after you typed “~>”.

8 Likes

Fantastic! Thank you :smiley:

No problem. I needed it too :see_no_evil:
Just noticed @alvises your post regarding intellisense for package names. I actually would love it. I will look into it.

Thanks for a timely release @benlime

1 Like

This is nice, have you considered adding this to ElixirLS (since that’s kinda the Elixir extension I think most people use)