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, 0.0.13.0, 0.0.14.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-2017 phoityne_hs
Author phoityne_hs
Maintainer phoityne.hs@gmail.com
Category Development
Home page https://github.com/phoityne/phoityne-vscode
Bug tracker https://github.com/phoityne/phoityne-vscode/issues
Uploaded Sat May 6 22:44:38 UTC 2017 by phoityne_hs
Distributions NixOS:0.0.14.0
Downloads 627 total (87 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
Last success reported on 2017-05-06 [all 3 reports]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for phoityne-vscode

Readme for phoityne-vscode-0.0.14.0

Phoityne VSCode

Phoityne is a ghci debug viewer for Visual Studio Code.

Information

01_debug.gif

Important

  • Limitation. Breakpoint can be set in a .hs file which defineds "module ... where".
  • Limitation. Source file extension must be ".hs"
  • Limitation. Can not use STDIN handle while debugging.
  • 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
    • F9 : put bp on current line
    • Shift + F9 : put bp on current column
  • While debugging, you can use F5, F9, F10, F11 shortcut key.
    • F5 : jump to next bp
    • F9 : put bp on the line
    • Shift + F9 : put bp on the column
    • F10 : step next
    • F11 : step into

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

% phoityne-vscode --version
phoityne-vscode-0.0.14.0
%
% code

Install vscode extensions

  1. run VSCode and open stack project Folder from file menu.
  2. open Extensions from side menu of VSCode.
  3. search "haskell"
  4. 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
  • supportsExceptionInfoRequest : 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 --ghci-options -fprint-evld-with-show|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.| |stopOnEntry|required|true|stop or not after debugger launched. |logFile|required|${workspaceRoot}/.vscode/phoityne.log|internal log file.| |logLevel|required|WARNING|internal log level.| |mainArgs|optional|-|main arguments.|

.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.|