Skip to content
axxbetadocs
GitHub

Set up your editor

View .mdOpen in Claude

Axx’s steps are defined inside the axx binary, not in your project, so an editor cannot find them on its own. axx lsp, a language server built into the binary, tells the editor about them. The IntelliJ plugin and the VS Code extension start it for you. In feature files you get:

  • undefined, ambiguous and misused steps, and Gherkin syntax errors, flagged as you type, with the closest real steps;
  • completion of step text, with the step’s parameters as placeholders;
  • the step’s documentation, and the values of its parameters, on hover;
  • go to a step’s definition: the Go code that defines it when that code is on your machine (your custom packs, or axx built from source), otherwise the step’s entry in a reference page;
  • the files that steps name: Ctrl/Cmd+click a seed, a payload, a schema, an OpenAPI document or a log’s file:// url to open the file, get its path completed as you type, and a warning when it does not exist (with a pointer to axx fixtures generate for a fixture that is not generated yet). These are the steps’ {filepath} parameters and file properties, and the Examples cells that fill them in; the file is found the way the step finds it, in the resources directories, next to axx.yaml or at an absolute path. A log’s file may appear only during the run, so it is never flagged;
  • highlighted parameter values and Scenario Outline <placeholders>.

The steps are the ones your project loads, custom packs included (Choose packs). The server finds the project’s axx.yaml itself, even when it is in a subdirectory of the folder you opened.

Needs IntelliJ IDEA 2025.3 or later (or another JetBrains IDE of that version).

  1. Install the axx plugin: Settings | Plugins | Marketplace, or Install Plugin from Disk with the zip from ide/intellij/build/distributions.
  2. Optionally install the Gherkin plugin for keyword highlighting. It looks for step definitions in code and would mark every Axx step as undefined, so the axx plugin turns that inspection off in Axx projects.
  3. Open a .feature file. The server appears in the Language Services widget in the status bar, where you can restart it.

If axx is not on your PATH, set axx executable in Settings | Tools | axx.

  1. Install the axx extension: from the Marketplace, or Extensions: Install from VSIX with the file npm run package writes.
  2. Disable the official Cucumber extension in Axx workspaces. It looks for step definitions in code and marks every Axx step as undefined.
  3. Open a .feature file. The extension highlights Gherkin itself and starts the server once the workspace is trusted.

If axx is not on your PATH, set axx.path to its location. The axx output channel shows the server’s log.

Any editor with LSP support can run axx lsp for *.feature files. It talks over stdio and finds the project from its working directory. In Neovim 0.11 or later, which gives .feature files the cucumber file type:

init.lua
vim.lsp.config('axx', {
cmd = { 'axx', 'lsp' },
filetypes = { 'cucumber' },
root_markers = { 'axx.yaml', '.git' },
})
vim.lsp.enable('axx')

Both plugins run scenarios from the editor, with the results in the IDE’s test view: features, scenarios and steps, each one linked to its line, with expected and actual values for failed assertions.

  • IntelliJ IDEA: click the run icon in the gutter of a Feature, Rule, Scenario or Scenario Outline line, or of an Examples row, or choose Run on a feature file or directory. Rerun Failed Tests is in the test view’s toolbar.
  • VS Code: use the run buttons in the gutter or the Testing view.

Debug instead of Run stops at breakpoints in the Go code of the steps (Stop in step code).

The server starts with the project’s packs. After you change a pack of your own or axx-packs.yaml, restart the server: from the Language Services widget in IntelliJ, with axx: Restart language server in VS Code, or by restarting the editor.