Haskell
If all dependencies to build GHC (with Hadrian) are installed, the Haskell plugin works out of the box. It installs the required Haskell Language Server automatically.
C
There is a compile_flags.txt
that should automatically be picked up by the clangd plugin.
As it depends on -I.hie-bios/stage0/lib
being initialized, it only works in conjunction with the Haskell plugin.
Nix
If you're using ghc.nix, you'll very likely want use it the provide the dependencies for the previously described plugins.
This can easily be done with the Nix Environment Selector plugin.
Git Submodules
By default VSCode only detects 10 Git submodules. That's less than the number of submodules the GHC project uses (at the time of writing: 29). To fix this increase the setting git.detectSubmodulesLimit
. Otherwise, many submodules won't show up in the version control panel.