Add "Haskell" VSCode Extension Pack

A VSCode Extension pack allows us to point users to a single extension and install all other extensions that we think are important for the modern Haskell IDE experience.

Before Release `language-haskell` 3.8.0, vscode-haskell (or Haskell on the Marketplace) forced a dependency on the extension vscode-haskell-syntax-highlighting. Every user had to install vscode-haskell-syntax-highlighting alongside vscode-haskell extension.

We dropped this explicit dependency during the migration to the new vscode-haskell-syntax-highlighting extension.
This allows users to freely choose which syntax highlighting extension to use, as was requested in Remove explicit dependency on Haskell Syntax Highlighting · Issue #407 · haskell/vscode-haskell · GitHub.

However, this raises new problems.
Firstly, the new vscode-haskell-syntax-highlighting extension needs to be installed separately, which might not be immediately clear to new users.
Secondly, as the extension is new, it isn’t as prominently listed as it should be, making it extra hard to find.

I propose, to add a new Haskell Extension Pack extension, which bundles vscode-haskell and vscode-haskell-syntax-highlighting.
In the future, we could add other extensions as well, such as GitHub - visortelle/haskell-spotlight: VSCode extension for Haskell · GitHub or GitHub - well-typed/haskell-debugger: A modern step-through debugger for GHC Haskell · GitHub.

I am raising this question to the community to gather some feedback on whether this sounds like a good idea and what extensions should be bundled.

If the feedback is positive, I am taking care of the implementation.

Link for further discussions: Create Haskell extension pack · Issue #1383 · haskell/vscode-haskell · GitHub

14 Likes

Would it be possible to keep the current “Haskell” extension as the pack and instead create a separate “HLS-only” extension? That feels like it will break less.

4 Likes

I am not sure, but it sounds like something that should be doable with some implementation overhead.

I am a bit worried whether VSCode and VSCodium would install the appropriate extension upon update or whether a reinstallation of the extension would be necessary…
The version would need to be bumped to 3.0.0 as well, which is slightly confusing.

We would most likely lose the ability to install old versions of the vscode-haskell extension, I think.

1 Like

A very good idea! And I agree that if it could be done within the Haskell extension we have been using for years, that might be optimal in terms of reducing churn and confusion.

2 Likes

Resharing from hls channel here since it might interesting option to users:

Apparently vscode extension can simultaneously be extension pack Extension Optional Dependency · Issue #6384 · microsoft/vscode · GitHub.
Microsoft is doing that with their official python extension vscode-python/gulpfile.js at 66ff9a42990cd538c8363be7218b22548856fa9f · microsoft/vscode-python · GitHub.
So there’s no need to publish separate extension or extension pack. If we add extension pack to vscode-haskell, it will install syntax highlighting for all new users of extension when installed (and hopefully when updated for current users as well).
If somebody uses other syntax highlighting, extensions from pack can be uninstalled or disabled after initial installation.

3 Likes