Compatible with: IntelliJ IDEA Android Studio
Oct 17, 2018
28 883
Haskell support. Please README

Download plugin

Recent change notes


IMPORTANT: Stack version should be > 1.7.0 and please reimport your Haskell Stack project after updating the plugin.
  • Improved responsiveness, especially for multi-package projects
  • HLint, Hoogle, Hindent and Stylish-Haskell are automatically installed in IntelliJ sandbox with LTS-11. Those binaries are used by all projects
  • Added option to Tools/Haskell menu to update Haskell tools with latest LTS-11 version
  • Various improvements and fixes
  • Improved REPL (@solicode)
  • Improved importer of multi-package projects
  • Improved parser
  • Included updating the Module Settings to the Restart REPLs action
  • Changed default reformat shortcut to reformat by Hindent and then Stylish Haskell. Also added option to Commit Changes dialog
  • Added option to Commit Changes dialog to optimize imports
  • Added type and definition info of the current identifier to the Documentation Tool window. That info is always up-to-date by enabling option `Auto-update from Source`
  • Implemented Haskell Problems View
  • Added feature to jump from/to test and added action to create test. See #314 (@Sir4ur0n)
  • Made location of IntelliJ sandbox depending on OS. Location `~/.intellij-haskell` is not used anymore. See #316 (@liff)


  • Various improvements and fixes
  • Improved REPL (@solicode)
  • Multi-line support in REPL (@solicode)
  • Improved project structure of multi-package projects
  • Improved parser
  • Also display type info in status bar
  • Configurable background REPL timeout (issue #218)
  • Configurable Hlint options (issue #196)
  • Support for Runner program arguments (issue #222)


  • Various improvements and fixes


  • Various (performance) improvements and fixes
  • Added Sticky Type Info action, see issue #199 (@solicode)
  • Support for REPL, Runner and Tester by using IntelliJ Configurations


IMPORTANT: After updating plugin reimport your Haskell Stack project to get the module dependencies right in case project contains multiple packages which are depending on each other.
  • Fix issue #197
  • After the project is started, rebuilds are always started in the background


IMPORTANT: After updating plugin reimport your Haskell Stack project. The folder `.ideaHaskellLib` inside project's folder will be deleted because library sources are downloaded to other location. See changes.
  • Various (performance) improvements and fixes
  • Windows support
  • Added notification to restart REPLs after changing Cabal or Stack file (initial version by @zjhmale)
  • Added notification to setup SDK in case no Haskell SDK is set for project
  • Multi package support
  • Only one Stack target is loaded per REPL to prevent conflicts
  • Library sources are downloaded to folder `.intellij-haskell` inside user's home directory
  • Hoogle database is not automatically generated anymore while starting project but has become separate action in Tools menu
  • Simple support for type info even when compile errors


  • Various (performance) improvements and fixes


  • Various improvements and fixes


  • Various improvements and fixes
  • Performance improvements


  • Various improvements and fixes
  • Fixed issue with looping file index process
  • Support for navigation to instance declaration (called `Navigate`/`Instance declaration` in IntelliJ menu)
  • Added completion for package names in Cabal file (@zjhmale)


  • Various improvements and fixes
  • BREAKING CHANGE: Haskell Stack SDK has to be created by selecting Stack binary itself instead of containing folder
  • Switched from file index to stub index for navigation. If after upgrading plugin IntelliJ indexing hangs, you have to choose `Invalidate Caches/Restart...` in `File`-menu
  • Added Hoogle action
  • Added navigation powered by Hoogle
  • Support for Hindent formatting of selection
  • Add and remove parens around expression (@zjhmale)
  • Improved Cabal file support (@zjhmale)
  • Support for Stack 1.3
  • Added dialog in `Help` menu which shows all Haskell tools used by plugin


  • Various improvements and fixes
  • Intero, HLint, Haskell-docs and Apply-refact are automatically build to prevent incompatibility issues.
  • Added Hindent formatter
  • Added Stylish-haskell formatter
  • Added formatter which uses Hindent and then Stylish-haskell
  • Enabled HLint inspection by default
  • Improved application of HLint suggestions by using Refactor tool(package is apply-refact)


  • Attempt to fix issue #49


  • Replaced ghc-mod by Stack and Intero
  • Big rewrite/refactor of code
  • Support for IntelliJ 2016.*


  • Replaced ghc-mod legacy-interactive `check` by `ghc-mod check`


  • Replaced Cabal by Stack
  • Improvements
  • Bug fixes (especially for OSX)


  • Support for IntelliJ 15 and 2016.1
  • Replaced usage of ghc-modi by ghc-mod legacy-interactive
  • Improvements


  • Added feature to automatically download sources of project dependencies and add them as source libraries to module
  • Support for renaming Haskell module
  • Bug fixes
  • Improvements


  • Support for IntelliJ 14.1


  • Bug fixes
  • Improvements
  • Support for upcoming version of ghc-mod with Cabal-helper


  • Improved parser and formatting


  • Bug fixes
  • (Performance) improvements
  • Improved syntax highlighting
  • Added Haskell module
  • Support for qualified identifiers
  • Optimize imports


  • Support for IntelliJ 14. IntelliJ 13.x is not supported since this version
  • Improved rename by setting scope automatically. Also local rename does not force preview anymore
  • Improved Find Usages


  • Improved communication with ghc-modi by increasing timeout
  • Minor improvements


  • Support for exact search in navigate to declaration and identifier by putting space at the end
  • Intention actions for adding language extension pragma and type signature to code
  • Minor improvements in formatting


  • Inspection by HLint
  • Quick fixes for HLint suggestions
  • View error, action to view formatted message from ghc-mod. Especially useful in case message consists of multiple lines (Ctrl-F10, Meta-F10 on Mac OSX)
  • Haskell GHC SDK. I noticed that setting GHC SDK for existing Haskell project gave warning about corrupt SDK. In that case: close project, remove idea files and open project again.
  • Removed ghcOsxPath setting in favour of GHC SDK home path
  • ghc-modi process is started on request, not automatically anymore when project is opened
  • Improvements


  • Initial version

See for more information:

Any feedback is welcome!

General usage instructions