Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>HaskellyNew to Visual Studio Code? Get it now.

Haskelly

UCL

|
96,153 installs
| (13) | Free
Complete support for casual and expert Haskell development.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Haskelly

Release notes | Roadmap | Demo Video

Haskelly is a Visual Studio Code extension that supports Haskell development.

Features

  • Code highlight

    • Haskell (.hs and .lhs) and Cabal via automatic dependency on Haskell Syntax Highlighting.
  • Code snippets

    • Structures : data, newtype, etc.
    • Popular functions : map, fold, etc.
  • Type hovers

    • hover
  • Jump to definition

    • Jump to symbol definitions/declarations
  • Find references

    • Find references within a module or depending modules. See limitations on #62
  • Code completion :

    • Local functions and constants
    • Standard library
    • Imported modules

    completion

  • Integrated REPL, Build, Test and Run commands

    • repl with GHCi
    • build with stack
    • run with runHaskell
    • test current file prop_* properties with QuickCheck
    • run full test suite with Stack test

Installation

  • Install the Haskelly VS Code extension.

  • Install Stack and add it to your PATH. Note that Stack folder naming conventions must be followed for it to work correctly, i.e. capitalizing folder names.

    curl -sSL https://get.haskellstack.org/ | sh
    
  • Install Intero (code completion and type information), QuickCheck (test suite) and stack-run:

    stack install intero QuickCheck stack-run  # for a global installation
    stack build intero QuickCheck stack-run # for a local installation
    

Configuration

Haskelly is customizable (see Code > Preferences > Workspace Settings).

Parameter Description Default
haskelly.codeCompletion Code completion enabled true
haskelly.buttons.ghci GHCi button shows in the bottom bar true
haskelly.buttons.runfile Run file button shows in the bottom bar true
haskelly.buttons.quickcheck QuickCheck button shows in the bottom bar true
haskelly.buttons.stackBuild Stack build button shows in the bottom bar true
haskelly.buttons.stackBuildParams Parameters passed to stack build command --fast
haskelly.buttons.stackRun Stack run button shows in the bottom bar true
haskelly.buttons.stackRunParams Parameters passed to stack run command null
haskelly.buttons.stackTest Stack test button shows in the bottom bar true
haskelly.buttons.stackTestParams Parameters passed to stack test command null
haskelly.snippets.important Hide code completion for which there's already a snippet false
haskelly.snippets.custom Add your custom snippets following the structure of this file null
haskelly.exec.reuseTerminal Reuse the currently opened terminal to run Stack commands false

Contributing

If you'd like to contribute to Haskelly, this is what you can do:

  • Bugs: This extension is in alpha, so some bugs might be present. We would really appreciate if you could post any issue on the Github repository issues section or contact us at: zcabmse@ucl.ac.uk.
  • Ideas and feature requests: We want to get everyone's opinion on what we're building so feel free to use the two mentioned channels for any comment or suggestion.
  • Documentation: Found a typo or strangely worded sentences? Submit a PR!
  • Code: Contribute bug fixes, features or design changes.

License: GNU 3

  • Contact us
  • Jobs
  • Privacy
  • Terms of use
  • Trademarks
© 2023 Microsoft