The phoityne-vscode package

[Tags:bsd3, program]

Please see README.md


[Skip to Readme]

Properties

Versions 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
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 BSD3
Copyright 2016 phoityne_hs
Author phoityne_hs
Maintainer phoityne.hs@gmail.com
Stability Unknown
Category Development
Home page https://github.com/phoityne/phoityne-vscode
Bug tracker https://github.com/phoityne/phoityne-vscode/issues
Uploaded Sat Feb 4 07:53:49 UTC 2017 by phoityne_hs
Distributions NixOS:0.0.12.0
Downloads 434 total (20 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
Last success reported on 2017-02-04 [all 3 reports]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for phoityne-vscode

Readme for phoityne-vscode-0.0.12.0

Phoityne VSCode

Phoityne is a ghci debug viewer for Visual Studio Code.

Information

01_debug.gif

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.
    • F5 : start debug
    • F6 : show command menu (for stack watch)
    • Shift + F6 : stop stack watch
    • F7 : stack clean & build
    • F8 : stack test

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. open Extensions from side menu of VSCode.
  2. search "haskell"
  3. select "Haskell GHCi debug viewer Phoityne"

Features

Run to Cursor

03_run_to_cursor.gif

Bindings & Watch

The variable added to watch will be forced.

02_watch.gif

Stack trace

05_stacktrace.gif

Break condition

04_condition.gif

Hit count break condition

Supports these operators.

  • /=
  • <, >
  • <=, >=
  • mod, %
  • just digit is same with '>='

07_hit_count.gif

Repl & Completions

06_repl.gif

Capabilites

  • supportsConfigurationDoneRequest : yes
  • supportsFunctionBreakpoints : yes
  • supportsConditionalBreakpoints : yes
  • supportsHitConditionalBreakpoints : yes
  • supportsEvaluateForHovers : yes
  • exceptionBreakpointFilters : no
  • supportsStepBack : no
  • supportsSetVariable : no
  • supportsRestartFrame : no
  • supportsGotoTargetsRequest : no
  • supportsStepInTargetsRequest : no
  • supportsCompletionsRequest : yes
  • supportsModulesRequest : no
  • additionalModuleColumns : no
  • supportedChecksumAlgorithms : no
  • supportsRestartRequest : no
  • supportsExceptionOptions : no
  • supportsValueFormattingOptions : no

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