Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>QFace IDLNew to Visual Studio Code? Get it now.
QFace IDL

QFace IDL

F&S Bondtec

|
2 installs
| (0) | Free
Syntax highlighting and diagnostics for the QFace interface definition language
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

QFace IDL for Visual Studio Code

Language support for the QFace interface definition language — the IDL used by Qt Interface Framework and the qface code generator — in Visual Studio Code.

Syntax highlighting works out of the box, with no dependencies. Diagnostics are opt-in: they come from a Python language server that reuses QFace's own ANTLR parser and domain model, so what the editor flags is what the real generator sees.

Features

Syntax highlighting

Full TextMate grammar for .qface files, covering declarations (module, import, interface, struct, enum, flag), members (property, readonly, signal, extends), primitive types (int, real, string, bool, var, void), container types (list<>, map<>, model<>), string and numeric literals, comments, and QFace annotations (@brief, @description, @see, and custom @key: value tags).

Editor behaviour

Comment toggling, bracket matching and auto-closing, indentation rules for block bodies, and // #region / // #endregion folding, via language-configuration.json.

Diagnostics (opt-in)

Once enabled via qface.server.enable, the language server validates open documents as you type and reports:

  • Syntax errors — surfaced directly from QFace's ANTLR parser, at the reported line and column.
  • Unresolved type references — a property, operation return type, operation parameter, signal parameter, or struct field that names a complex type which cannot be resolved in the module or its imports. Nested container types such as list<Foo> and map<Bar> are unwrapped and checked on their leaf type.

Diagnostics are reported under the qface source, so they can be filtered in the Problems panel. See Enabling diagnostics for setup.

Requirements

Syntax highlighting and the editor behaviour described above have no dependencies and work as soon as the extension is installed.

Diagnostics are opt-in. They run in a Python language server that the extension does not start unless you enable it, so installing this extension never requires Python.

Enabling diagnostics

Install the server's dependencies into a Python 3.9 or newer interpreter:

pip install pygls qface

Then set qface.server.enable to true. Unless python on your PATH is the interpreter you just installed into, also point qface.pythonPath at the right one. The server starts as soon as either setting changes — no window reload needed.

If it cannot be started, the extension shows a warning with links to the relevant setting and to its log, and syntax highlighting keeps working.

Extension settings

Setting Type Default Description
qface.pythonPath string python Path to the Python interpreter used to run the language server. Use an absolute path to select a virtual environment, e.g. ${workspaceFolder}/.venv/Scripts/python.exe on Windows or ${workspaceFolder}/.venv/bin/python elsewhere.
qface.server.enable boolean false Set to true to start the Python language server and get diagnostics. Requires a working qface.pythonPath.
qface.trace.server enum off Log LSP traffic between VS Code and the server to the QFace Language Server output channel. Useful values: messages, verbose.

Commands

Command Description
QFace: Restart Language Server Stops and restarts the server process.

The server also restarts automatically when qface.pythonPath or qface.server.enable changes.

Troubleshooting

No diagnostics appear. First check that qface.server.enable is true — it is false by default. If it is enabled, open the QFace Language Server output channel (View → Output, then pick the channel) and check for a startup error. The most common cause is an interpreter without pygls or qface installed. Verify it independently:

python -c "import pygls, qface; print('ok')"

Diagnostics look wrong or incomplete. Set qface.trace.server to verbose, reproduce the problem, and attach the output channel contents to a bug report.

Status

Under active development. Syntax highlighting and diagnostics are usable; hover, completion, go-to-definition, and find-references are not implemented yet. Issues and pull requests are welcome.

License

MIT. Third-party components and their licenses are listed in THIRD-PARTY-NOTICES.md.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft