This extension adds language support for the Dynamic Stack Decider (DSD) language.
This Extension is still under active development and will include more features in the future.
- Syntax highlighting for DSD files:
- Toggle comment (with [Ctrl + /] or [Ctrl + #] by default).
- Go to definition ([F12] by default) for some symbols:
- Subtrees in the DSD file
- Actions (jumps to their python class) - this only works for actions in [vscode-workspace-root]/actions folder.
- Decisions (jumps to their python class) - this only works for decisions in [vscode-workspace-root]/decisions folder.
- Entry points (jumps to their python class) - this only works for entry points in [vscode-workspace-root] folder.
- Find references ([Shift + F12] by default)
- Subtrees in the DSD file
- Hover documentation
- Shows documentation for Actions, Decisions and Entrypoints
- Displays the docstring of the corresponding Python class or file in case of Entrypoints
- Actions additionally display their parameters
- Decisions additionally display their parameters and cases
- Shows documentation for Actions, Decisions and Entrypoints
- Autocompletion for actions, decisions and subtrees:
- Names of actions, decisions and subtrees (triggered by
@,$,#) - Parameters for actions and decisions (triggered by
+) - Cases for decisions (in a new line after a decision)
- Names of actions, decisions and subtrees (triggered by
- Basic Auto Formatting:
- Ensures single space before and after each
+ - Ensures single space after each
, - Ensures single space before and after each
-->in decisions
- Ensures single space before and after each
For advanced language features to work, this is required:
- The official python extension needs to be installed in VS Code.
- Python 3.9 or a newer needs to be installed on your system.
This extension contributes the following settings:
dsd.decisionCaseMatching: Controls how decision case names are matched (strict or loose).dsd.interpreter: Use this to override which python interpreter is used for the Language Server (needs to be version 3.9 or higher).dsd.showNotifications: Controls when notifications are shown by this extension.
- More advanced formatting for dsd files
- Basic error detection (through parser)
- Better autocompletion for decisions (automatically inserting cases)
Let me know if you have any more ideas for other features (by opening a GitHub issue with the "feature request" tag).
None right now :)
If you find any issues not listed here, please report them on the GitHub issue tracker.
A comprehensive changelog can be found here.
Here are some highlights:
- Added basic auto formatting
- Fixed a bug where the server would start multiple times (#1).
- Added Autocompletion for actions, decisions and subtrees
- Improved hover documentation
- Added Hover documentation for Actions and Decisions.
- Improved searching for actions and decisions in Python files.
- Added new language features (see CHANGELOG.md):
- Go to definition ([F12] by default)
- Find references ([Shift + F12] by default)
These features use a language server that now exists.
- Initial development release, providing syntax highlighting for DSD files.
