Skip to Content
Krad ADE
User guide

Language servers

Diagnostics, completion and refactoring in file tabs, from servers the app installs after asking and runs with the toolchain you pick.

A language server understands one language of a group's files and gives their file tabs diagnostics, completion, hover, go to definition, references, rename, formatting and quick fixes.

Installing a server

The first time a file of a language opens, the app asks to install that language's server. Servers come from the package registry, Mason's public list of language servers and how to fetch each one, which the app downloads, checks against the release's SHA-256 digest and caches in the config folder. Downloads are verified when a digest exists; package managers such as npm verify their own.

Some servers need a server runtime, the program the server itself runs on, such as Node.js for a TypeScript server. The app finds it on the host or installs a private copy in its own folder. Settings › Languages lists server runtimes under Server runtimes, where you install a missing one or point to your own copy.

Problems

A problem is an error, warning, info or hint a server reports about a place in a file. Problems show:

  • as a problem lens: the message of a line's most severe problem, written after the end of that line;
  • as marks on the scrollbar;
  • in Problems and in the file tree.

A project check lets the group's installed servers look at all of its files, not only the open ones. It skips what git ignores and stops at a limit of files, saying the check is incomplete.

Toolchains

A toolchain is the interpreter, SDK or version the project's code runs with: a Python virtual environment, a conda environment, the project's own TypeScript, a Node.js version or a JDK. The app finds candidates on the environment's host and you pick one per project folder.

  • A project folder is the nearest folder holding a marker such as pyproject.toml or package.json; the group's root is the default.
  • With nothing chosen, the app picks the best candidate, project hints such as .nvmrc, .python-version, .tool-versions and rust-toolchain.toml first.
  • The pick shows in the editor's status bar, where the selector changes it, takes a path or rescans.
  • The choice is kept by the app, never written into the repository.
  • Python environments are found with Microsoft's python-environment-tools, built into krad-ade-agents, so detection works the same on SSH hosts.

The app never installs a toolchain. An opt-in setting, with a per-group override, activates the chosen toolchain in the new terminals the app starts; it is never applied to agents' harness processes.

Each combination of host, project folder, language and toolchain gets its own server process.

Java

Java files use Eclipse JDT (jdtls) by default. The Java engine setting also offers IntelliJ (unstable), which runs krad-java-server, a headless language server on intellij-community that must be on PATH. It can report problems that are not real, use more memory and fail to import some projects. Changing the engine restarts the language servers.

File templates

When you open the file tree's New menu on a folder, it lists file templates that fit that folder, such as a Java class or a React component. They come from the language server serving that folder, or, when it offers none, from the language's manifest.

Keys in file tabs

ActionKeys
Go to definitionCmd+B
Find referencesAlt+F7
Rename symbolShift+F6
Code actionsAlt+Enter
Show completionsCtrl+Space
Next, previous problemF2, Shift+F2
ReformatCmd+Alt+L

Code tools for agents

Agents use the same servers through code tools: diagnostics, definitions, references, hover and rename. The app registers krad-ade-agents mcp as an MCP server on every Claude Code, Codex, opencode and Gateway agent it starts, without writing into global or project files. The same operations are CLI subcommands:

Terminal
krad-ade-agents code diagnostics src/main.rs
krad-ade-agents code definition src/main.rs:12:8
krad-ade-agents code rename src/main.rs:12:8 new_name

Turn them off with Code tools for agents in Settings › General; the change applies to agents started after it. To add a language, see Extensions.

On this page