Skip to content
Back to blog

BML/BMQL productivity in CPQ DevKit: formatting, snippets, and navigation

Once your CPQ project is synced locally, CPQ DevKit turns BML/BMQL work into a tight edit → navigate → refactor loop.

1) Format BML (and more) with one command

CPQ DevKit registers formatters for:

  • BML (.bml) and BMLT (.bmlt)
  • JSON, XML/HTML, CSS, and JavaScript (useful for CPQ artifacts you sync locally)

In any supported file, use VS Code’s Format Document command (or enable format-on-save) to keep diffs small and readable.

2) Use snippets for common CPQ patterns

The extension ships snippet packs for BML core functions, attributes, and helper utilities. In a .bml file, start typing and let VS Code’s snippet picker guide you—this is especially handy for safe loop templates and common system constants.

3) “Go to Definition” for util. / commerce. calls

When your workspace contains downloaded functions, you can jump directly from a call site to the function file:

  • Put your cursor on a reference like util.someHelper(...) or commerce.someLibrary(...)
  • Run Go to Definition (F12 / Cmd+Click)

If your project uses custom prefixes or folders, update them in project.config.jsonc:

4) “Go to Definition” for Data Tables inside BMQL strings

CPQ DevKit detects BMQL queries inside string literals and makes table names navigable when they appear in a from <TABLE_NAME> clause.

Example:

After you run CPQ DevKit™ for Oracle: GET ALL Tables, place your cursor on PRICE_BOOK and use Go to Definition to open the local table JSON.

5) Convert between JSON, XML, and CSV from the Explorer

Right‑click any .json, .xml, or .csv file and use:

  • CPQ DevKit™: Convert to JSON
  • CPQ DevKit™: Convert to XML
  • CPQ DevKit™: Convert to CSV

This is a quick way to reshape downloaded CPQ artifacts into the format your team prefers for reviews or data checks.