# Phoityne VSCode
[Phoityne](https://sites.google.com/site/phoityne/vscode) 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.
* Marketplace [phoityne-vscode-0.0.7](https://marketplace.visualstudio.com/items?itemName=phoityne.phoityne-vscode)
* hackage [phoityne-vscode-0.0.9.0](https://hackage.haskell.org/package/phoityne-vscode)
* 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)
[](https://raw.githubusercontent.com/phoityne/docs/master/demo01.gif)
## 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](https://marketplace.visualstudio.com/items?itemName=phoityne.phoityne-vscode)"
## 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
* [2016/08/07] for VSCode-1.4, updated vscode extension and haskell library. Please use new versions.
* Marketplace [phoityne-vscode-0.0.6](https://marketplace.visualstudio.com/items?itemName=phoityne.phoityne-vscode)
* hackage [phoityne-vscode-0.0.8.0](https://hackage.haskell.org/package/phoityne-vscode)
* [2016/07/10] for VSCode-1.3, updated vscode extension and haskell library. Please use new versions.
* Marketplace [phoityne-vscode-0.0.5](https://marketplace.visualstudio.com/items?itemName=phoityne.phoityne-vscode)
* hackage [phoityne-vscode-0.0.6.0](https://hackage.haskell.org/package/phoityne-vscode)
* [2016/06/06] for VSCode-1.2, updated vscode extension and haskell library. Please use new versions.
* Marketplace [phoityne-vscode-0.0.4](https://marketplace.visualstudio.com/items?itemName=phoityne.phoityne-vscode)
* hackage [phoityne-vscode-0.0.5.0](https://hackage.haskell.org/package/phoityne-vscode)