Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>IQX JobRunnerNew to Visual Studio Code? Get it now.
IQX JobRunner

IQX JobRunner

IQX Limited

|
5 installs
| (0) | Free
Syntax highlighting and validation for IQX JobRunner XML jobs (embedded SQL & JSON aware)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

IQX JobRunner for VS Code

Syntax highlighting and validation for IQX JobRunner XML jobs. Any file named *.job.xml is picked up automatically.

Features

Highlighting

  • XML base with JobRunner command names highlighted distinctly from user-defined tags (e.g. Library procedures)
  • Embedded SQL in <SQLSelect> / <SQLExec> (plain or CDATA) and in sql=, condition= and multiselectsql= attributes, with :param and {field} scopes on top
  • Embedded JSON in <MongoSelector> / <MongoDocument>
  • Regex highlighting in regex="..." attributes
  • JobRunner substitutions: {Field}, {$attribute}, {WPK_G_...} and the {{ literal-brace escape
  • XPath / JSONPath content scopes

Validation (Problems panel)

  • XML well-formedness (mismatched/unclosed tags, duplicate attributes, ...)
  • JobRunner schema checks driven by the full documented tag catalog:
    • unknown commands (with case-sensitive suggestions — <Setvariable> → did you mean <SetVariable>?)
    • unknown/mis-cased attributes; missing required attributes
    • YES/NO flags, enum values (e.g. recordextent, operation, quality), case-sensitive field types (Numeric not numeric), comparison operators
  • Structural rules:
    • root element must be <Job> (capital J)
    • <Else> must be a sibling of its <If...> (not nested inside)
    • <Catch> must follow a <Block>
    • <ForEachRow> / <IfAnyRows> / etc. need an ancestor query
    • <WriteExcel...> needs an <ExportFile> ancestor with excelfontname + excelfontsize
    • parent rules (<Parameter> in <Parameters>, <Field> in a ...Select, email body tags directly under <SendEmail>, ...)
  • Embedded JSON validation for Mongo selectors/documents (JobRunner's (field) substitutions are understood) and literal JSON <HTTPRequestData> bodies
  • SQL checking, configurable via iqxJobrunner.validation.sqlMode:
    • lint (default) — structural checks only (unterminated strings, unbalanced parentheses, unterminated comments). Safe for SQL Anywhere syntax.
    • parser — additionally parses substitution-free SQL with a strict parser (closest dialect: T-SQL) and reports failures as warnings. SQL Anywhere-specific syntax (e.g. current date, key join) may produce false positives.
    • off

IntelliSense & navigation

  • Completions: tags (context-ranked by parent), attributes per tag, enum / YES-NO / field-type / comparison values, {field} substitutions (system fields + variables defined in the job)
  • Hover docs for tags, attributes and {SystemFields}
  • Quick fixes (light bulb) for case errors, bare {, missing required attributes, YES/NO values, lowercase <job> root
  • Go-to-definition: <Call> → Library procedure (follows <Include>d files); find references back to call sites
  • Document outline / breadcrumbs for parameters, variables, queries, procedures and forms
  • Snippets: job, sqlquery, blockcatch, ifelse, sendemail, httpjson, jsonquery, parameters, library, exportcsv

Embedded-region decorations

SQL and JSON regions get a subtle themed background and a muted SQL/JSON label. Colours are themable (iqxJobrunner.embeddedSqlBackground, embeddedJsonBackground, embeddedLabelForeground).

Extension Settings

Setting Default Description
iqxJobrunner.validation.enable true Master switch for diagnostics
iqxJobrunner.validation.sqlMode lint off / lint / parser
iqxJobrunner.validation.unknownTags warning ignore / warning / error
iqxJobrunner.validation.json true Validate embedded JSON
iqxJobrunner.validation.undefinedSubstitutions false Heuristic: flag {names} defined nowhere in the job
iqxJobrunner.decorations.enable true SQL/JSON region backgrounds and labels

Development

npm install
npm run build      # bundle to dist/extension.js
npm run typecheck  # tsc --noEmit
npm test           # validator unit tests + grammar tests (real TextMate engine)
npm run package    # build the installable .vsix

CI (GitHub Actions) runs typecheck, build, both test suites and uploads a .vsix artifact on every push.

Press F5 in VS Code to launch the Extension Development Host.

The validator core (src/validator/) has no dependency on the vscode API, so it can be tested and reused standalone. The JobRunner tag/attribute catalog lives in src/validator/jobrunner-schema.json; the distilled language documentation it was built from is in docs/jobrunner-language-reference.md.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft