Phoityne VSCode
Phoityne is a ghci debug viewer for Visual Studio Code.
- [2017/02/05] phoityne-vscode released.
- Release Summary
- FIX 8 : Unterminated process after leaving GHCi
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
- open Extensions from side menu of VSCode.
- search "haskell"
- select "Haskell GHCi debug viewer Phoityne"
Features
Run to Cursor
Bindings & Watch
The variable added to watch will be forced.
Stack trace
Break condition
Hit count break condition
Supports these operators.
- ==
- /=
- <, >
- <=, >=
- mod, %
- just digit is same with '>='
Repl & Completions
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
-
[2016/12/18] phoityne-vscode released.
-
[2016/10/09] phoityne-vscode released.
-
[2016/09/19] for VSCode-1.5, updated vscode extension and haskell library. Please use new versions.
-
[2016/08/07] for VSCode-1.4, updated vscode extension and haskell library. Please use new versions.
-
[2016/07/10] for VSCode-1.3, updated vscode extension and haskell library. Please use new versions.
-
[2016/06/06] for VSCode-1.2, updated vscode extension and haskell library. Please use new versions.