Skip to content

Editing X++

Guide · Core Studio 3.0 · Verified 2026-09-01

Language features by file type

  • .xpp / .xpo — X++ mode: syntax highlighting, diagnostics, hover, document symbols, go-to-definition (F12 or Ctrl+Click) and find-references across models, plus best-practice warnings (source xpp-bp) in the Problems panel.
  • Ax*.xml — XML mode: definition/references still work inside — they’re index-backed, not parser-backed.

Saving

  • Save: Ctrl+S · Save As…: Ctrl+Shift+S · Save All: Ctrl+K S.
  • Unsaved files show a ● in the window title and in the tab.
  • Saving triggers an incremental reindex of just that file.

Creating new objects

File → New X++ Object, F1 → “X++: New …”, or right-click a type node / element in the AOT explorer (prefills model/module/target). The Studio generates class/table extensions, CoC wrappers, and event handlers into <root>/<Model>/<Module>/<AxType>/, then re-indexes and opens the file.

Verify it worked

  • Introduce a deliberate syntax error: a diagnostic appears as you type — no build needed.
  • F12 (or Ctrl+Click) on a symbol jumps to its definition across models; find-references lists cross-file call sites.
  • Scaffold a CoC extension and build: the wrapper compiles first-build-clean against the real compiler.

If it goes wrong

  • No squiggles/hover/symbols anywhere, but definition still works — the tree-sitter native binding is missing; rebuild the parser’s native binding.
  • Hover/definition dead on one tab only — close and reopen the file from the explorer (the tab’s model URI stopped matching the language-server document).