This extension provides syntax highlighting, code snippets, and function support for OtterScript used in Inedo products (Otter, BuildMaster, ProGet).
Not affiliated with or endorsed by Inedo.
Otter, BuildMaster and ProGet are trademarks of Inedo.
This extension started as a learning project while implementing custom webhook notification in ProGet.
- Syntax highlighting for OtterScript constructs
- Function signature help for built-in functions
- Auto-completion for variables and functions
- Code snippets for common patterns
- Hover information with documentation
- Quick‑fix code actions for selected diagnostics (e.g. missing
$, invalid operators)
This extension is in active development and currently considered early-stage. Features may change as the extension evolves.
Testing scope: This extension is primarily developed and tested against ProGet usage (particularly custom webhook action context). While OtterScript is shared across Otter, BuildMaster, and ProGet, not all constructs or product-specific behaviors have been tested equally.
Feedback, issues, and pull requests are welcome.
See CHANGELOG.md for release notes.
- It does not validate or execute OtterScript
- It does not connect to Otter, ProGet, or other Inedo services
- It does not provide a formatter or automatic code fixes (only explicit quick‑fix actions for selected errors)
- It does not attempt full semantic analysis
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "OtterScript Language Extension"
- Click Install
Open any .otter or .oscript file in VS Code to activate the extension.
No additional configuration is required.
The extension provides hover documentation, completion, and signature help for common OtterScript language constructs and built‑in functions, including:
- Core OtterScript functions
- Common string, JSON, and math helpers
- File system helpers
- Execution statements and directives
Coverage is continuously improving and may vary by context.
Some symbols are only relevant in ProGet‑specific contexts (such as webhooks).
If hover or completion does not appear, ensure the file extension is
.otter or .oscript and that the language mode is set to OtterScript.
Diagnostics are best‑effort and designed to catch common mistakes
(e.g. missing $, unknown functions, invalid operators).
They do not attempt full semantic analysis and may prefer false negatives over false positives.
Contributions are welcome. Please see CONTRIBUTING.md for guidelines.
Please see SECURITY.md.
This project follows the Contributor Covenant Code of Conduct.