Send Feedback
Skip to content

kdb Language Server

This page explains the features provided by the kdb language server included with the kdb Visual Studio Code Extension.

The kdb Visual Studio Code Extension bundles a dedicated kdb language server that helps q development by providing syntax intelligence, real-time feedback, navigation tools, and code assistance. These capabilities allow you to write, explore, and maintain q code more efficiently inside Visual Studio Code.

The kdb language server provides:

Syntax highlighting and linting

The extension provides detailed syntax highlighting for the q language, including:

  • Keywords
  • Types and operators
  • Comments
  • Local variables (semantic highlighting)
  • Inline linting feedback

Syntax Highlighting and Linting

Linting validates q and .quke files and highlights syntax or structural issues.

Linting

To enable linting, go to VS Code Settings, locate kdb under Extensions and check the Enable linting for q and quke files box in the extension settings.

Semantic highlighting is available for local variables, making it easier to track scope and reduce errors.

Semantic

Code navigation

The language server provides navigation features that help you understand and traverse q code:

  • Go to definition - Jump directly to the definition of a function.
  • Find/go to all references - View all the references of a function both on the side view and inline with the editor.

    Find all references

    Go to References

  • Outline View - Use the Overview at the bottom of the Explorer view which shows the symbol tree of the currently active q file.

    Outline View

Code completion

The language server provides intelligent auto-completion for:

  • q keywords
  • Symbols defined in the current file
  • Entities discovered from active q connections
  • Local variables and functions
  • Remote definitions from connected q processes

Autocomplete

This helps reduce typing effort and minimizes errors when working with larger codebases or unfamiliar APIs.

Rename symbol

The Rename Symbol feature allows you to refactor identifiers safely as it supports renaming symbols in the text editor.

Right-click and select Rename Symbol on any identifier to rename it.

Rename

Next steps