vscode-haskell icon indicating copy to clipboard operation
vscode-haskell copied to clipboard

Make vscode/hls compatible with SPJ

Open hasufell opened this issue 3 years ago • 1 comments

@simonpj had a few issues when setting up VSCode with HLS:

  1. Setting up VScode with WSL2 requires a lot of work: https://code.visualstudio.com/docs/remote/wsl-tutorial we should document that better or maybe automate it
  2. a lot of HLS plugins that impact performance are enabled by default and as such slow down working on big codebases like GHC. Adjusting this should be documented well. The GHC repository could also include a project-specific vscode config file that does this for all developers.
  3. confusing popups, e.g. https://github.com/haskell/vscode-haskell/pull/621

@fendor @runeksvendsen

hasufell avatar Jun 13 '22 12:06 hasufell

a lot of HLS plugins that impact performance are enabled by default and as such slow down working on big codebases like GHC.

In my opinion this should be treated like game developers treat 60 fps in that anything that takes too long or whose space usage doesn't scale better than quadraticly should be disabled.

Maybe core plugins could be:

  • linting/squiggly
  • type on hover
  • auto-complete
  • import suggestions

Notably this excludes wingman because on my large work codebase it always times out and disabling it in past versions sped things up.

Typed holes (this makes me sad) should be tamped down or disabled until they are sped up. I've has hls crash after timing out a long time on a typed hole in a big module.

Maybe even performance profiles for sets of plugins could be nice:

  • super fast
  • fast
  • typical
  • featureful
  • everything

Because knowing which plugins to disable or finding out is a good amount of work .

This would also allow people to improve performance for their desired performance profile (or the one their huge codebase has them stuck with).

codygman avatar Aug 10 '22 03:08 codygman