AcuMate is Acumatica's open-source Visual Studio Code plugin for building Modern UI screens.
- Surfaces backend metadata directly in TypeScript hovers and IntelliSense, validating
@graphInfo,@featureInstalled, and@linkCommanddecorators against the connected site. - Adds Acumatica-aware HTML tooling (validation, go-to-definition, completions) for
view.bind,qp-*controls, templates, and action bindings. - Provides project scaffolding: Create Screen / Screen Extension wizards, build menus, validation runners, and quick fixes for suppressing diagnostics when needed.
- Streams logs and validation output through dedicated VS Code channels so long-running metadata requests and builds stay traceable.
- Node.js 18 LTS or newer (the extension CI runs on Node 18/20).
- VS Code 1.54+ for local extension development.
cd acumate-pluginnpm installnpm run compile(ornpm run watchwhile iterating)- Launch VS Code with the
Run Extensiontarget or package the extension vianpm run vscode:prepublishand install the generated.vsix. - Run
npm testto execute the integration suite, ornpm run validate:screens/npm run validate:screens:tsto trigger the HTML and TypeScript validators headlessly.
acumate-plugin/ # VS Code extension source, scripts, and tests
acumate-linter/ # Standalone ESLint plugin shared by CI + editors
VSCode/ # VS Code workspace settings used for local development
CHANGELOG.md # Release notes for both packages
vsc-extension-quickstart.md # Legacy notes for extension authors
Refer to acumate-plugin/readme.md for the full extension features list, settings reference, and command catalog.
- Run
npm run lintinsideacumate-pluginbefore opening a PR; the CI workflow mirrorsnpm ci && npm test. - When editing shared logic (e.g., metadata helpers), update both documentation and tests—diagnostics surface in VS Code and via CLI.
- File bugs and feature requests through GitHub issues.
- Add entries to CHANGELOG.md under Unreleased for every PR.