A code assistant for Daml development.
Features
- Ghost Text Autocompletion: Suggests completions based on your cursor position in
.damlfiles. - Feedback Loop: Automatically reports accepted suggestions to the inference server. Code content can be kept out of the server's logs with the
daml-coding-assistant.shareCodeSnippetssetting.
Getting started
- Install Daml Coding Assistant from the VS Code Marketplace (Extensions view → search "Daml Coding Assistant"). Installing from a downloaded
.vsixfile also works:Extensionsview →...menu →Install from VSIX.... - On first start it prompts you to sign in — click Sign in (or run
Daml Coding Assistant: Log Inany time). A browser window opens for login; new users can register there (email + password, or Google) and get access automatically — email registrations just need the address verified via the confirmation email first. Completions work as soon as you are signed in. - Open a
.damlfile and start typing. Completions appear inline.
Usage
- Open a
.damlfile. - Default behavior is
daml-coding-assistant.triggerMode = automatic: suggestions appear while typing. - For manual mode, set
daml-coding-assistant.triggerMode = manual, then run VS Code's inline trigger action:- Command:
Trigger Inline Suggestion(editor.action.inlineSuggest.trigger) - On macOS this is often
Option+Backslashby default. - On Windows/Linux, the keybinding depends on your VS Code keymap and custom bindings.
- Command:
The trigger/accept/partial-accept keys are VS Code editor shortcuts, not extension-specific keybindings.
Finding and changing shortcuts
Open Keyboard Shortcuts in VS Code:
- macOS:
Code -> Settings -> Keyboard Shortcuts(orCmd+K Cmd+S) - Windows/Linux:
File -> Preferences -> Keyboard Shortcuts(orCtrl+K Ctrl+S)
Search for these inline suggestion commands:
Trigger Inline Suggestion(editor.action.inlineSuggest.trigger)Accept Inline Suggestion(editor.action.inlineSuggest.commit)Accept Next Word Of Inline Suggestion(editor.action.inlineSuggest.acceptNextWord) for partial acceptAccept Next Line Of Inline Suggestion(editor.action.inlineSuggest.acceptNextLine) for partial acceptShow Next Inline Suggestion(editor.action.inlineSuggest.showNext)Show Previous Inline Suggestion(editor.action.inlineSuggest.showPrevious)
Commands
Daml Coding Assistant: Log In— sign in via the browser.Daml Coding Assistant: Log Out— clear the stored token and end the browser (Keycloak) session so a different user can sign in.Daml Coding Assistant: Auth Status— show whether you are signed in.Daml Coding Assistant: Account Menu— the actions above in one menu; also opens from the Daml Coding Assistant status-bar item.
Note: uninstalling the extension does not clear the stored login — VS Code keeps extension storage for reinstalls. Run Daml Coding Assistant: Log Out before uninstalling to fully sign out.
Terms and privacy
Use of the hosted service is subject to the Terms of Use; data handling is described in the Privacy Notice.
Settings
All settings have working defaults; you normally do not need to change any of them.
daml-coding-assistant.triggerMode(default:automatic; values:automatic,manual)daml-coding-assistant.shareCodeSnippets(default: off; the extension asks for your choice on first use) — share code with the server to help improve the model: the context around your cursor and accepted completion text are kept in the server's logs. When off, no code content from your requests is retained; anonymous metrics (accept/reject, character counts, latency) are still reported. Completions work normally either way.daml-coding-assistant.serverUrl(default:https://api.dca.catalyx.solutions) — the inference server to use.daml-coding-assistant.oidcDiscoveryUrl— Keycloak realm discovery URL. Advanced: change only when pointing at a different environment.daml-coding-assistant.oidcClientId— OIDC public client ID. Advanced: change only when pointing at a different environment.