phoityne-vscode: ghci debug viewer on Visual Studio Code

[ bsd3, development, program ] [ Propose Tags ]

Please see README.md


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1.0, 0.0.2.0, 0.0.3.0, 0.0.4.0, 0.0.5.0, 0.0.6.0, 0.0.7.0, 0.0.8.0, 0.0.9.0, 0.0.10.0, 0.0.11.0, 0.0.12.0, 0.0.13.0, 0.0.14.0, 0.0.15.0, 0.0.16.0, 0.0.17.0, 0.0.18.0, 0.0.19.0, 0.0.20.0, 0.0.21.0, 0.0.22.0, 0.0.23.0, 0.0.24.0, 0.0.25.0, 0.0.26.0, 0.0.27.0, 0.0.28.0
Change log Changelog.md
Dependencies aeson, base (>=4.7 && <5), bytestring, Cabal, cmdargs, conduit, conduit-extra, ConfigFile, containers, directory, filepath, fsnotify, hslogger, HStringTemplate, MissingH, mtl, parsec, process, resourcet, safe, split, text, transformers [details]
License BSD-3-Clause
Copyright 2016 phoityne_hs
Author phoityne_hs
Maintainer phoityne.hs@gmail.com
Category Development
Home page https://sites.google.com/site/phoityne/vscode
Uploaded by phoityne_hs at 2016-09-17T14:52:52Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables phoityne-vscode
Downloads 18622 total (95 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2016-09-17 [all 3 reports]

Readme for phoityne-vscode-0.0.9.0

[back to package description]

Phoityne VSCode

Phoityne is a ghci debug viewer for Visual Studio Code.

Information

  • [2016/09/19] phoityne-vscode released.
    for VSCode-1.5, updated vscode extension and haskell library. Please use new versions.
  • Release Summary
    • Implemented the completions request to provide suggestion proposals for ghci repl in the Debug Console.
    • Some improvements and bug fixes.

Debug on VSCode

  1. Start VSCode
  2. Open stack project folder
  3. Open debug view
  4. Open launch.json
  5. Set startup source file. Default file is test/Spec.hs
  6. Run debug(F5)

Demo Video1

Key Bindings

  • F5 : start debug
  • F6 : show command menu (for stack watch)
  • Shift + F6 : stop stack watch
  • F7 : stack clean & build
  • F8 : stack test

Important

  • Breakpoint can be set in a .hs file which defineds "module ... where".
  • Source file extension must be ".hs"
  • When you start debugging for the first time, .vscode/tasks.json will be created automatically. Then you can use F6, F7, F8 shortcut key.

Install

Run stack install

% stack install phoityne-vscode
  . . . . .
%

Add 'phoityne-vscode.exe' to PATH environment.

% where $path:phoityne-vscode.exe
C:\Users\[user name]\AppData\Roaming\local\bin\phoityne-vscode.exe

%

Install vscode extensions

  1. ctrlr + p on Visual Studio Code
  2. ext install haskell ...
  3. select "Haskell GHCi debug viewer Phoityne"

Capabilites

  • supportsConfigurationDoneRequest : yes
  • supportsFunctionBreakpoints : yes
  • supportsConditionalBreakpoints : yes
  • supportsEvaluateForHovers : yes
  • exceptionBreakpointFilters : no
  • supportsStepBack : no
  • supportsSetVariable : no
  • supportsRestartFrame : no
  • supportsGotoTargetsRequest : no
  • supportsStepInTargetsRequest : no
  • supportsCompletionsRequest : yes

Configuration

.vscode/launch.json

NAME REQUIRED OR OPTIONAL DEFAULT SETTING DESCRIPTION
startup required ${workspaceRoot}/test/Spec.hs debug startup file, will be loaded automatically.
ghciCmd required stack ghci --test --no-load --no-build --main-is TARGET launch ghci command, must be Prelude module loaded. For example, "ghci -i\({workspaceRoot}/src", "cabal exec -- ghci -i\){workspaceRoot}/src"
ghciPrompt required H>>= ghci command prompt string.
logFile required ${workspaceRoot}/.vscode/phoityne.log internal log file.
logLevel required WARNING internal log level.

.vscode/tasks.json

TASK NAME REQUIRED OR OPTIONAL DEFAULT SETTING DESCRIPTION
stack build required stack build task definition for F6 shortcut key.
stack clean & build required stack clean && stack build task definition for F7 shortcut key.
stack test required stack test task definition for F8 shortcut key.
stack watch required stack build --test --no-run-tests --file-watch task definition for F6 shortcut key.

Version history