Skip to content

Configuration ​

Most users do not need to change language-server settings. The extension automatically downloads and uses the language server version pinned by the installed extension release.

Settings are available for viewer behavior, large-file handling, schema experiments, and debugging.

IFC settings in VS Code

Viewer ​

  • ifc.viewer.includeChildren: include decomposition or assembly children in 3D preview
  • ifc.viewer.includeHostedElements: include products that fill host openings, such as doors and windows (openings remain included for correct cut-outs)
  • ifc.viewer.codeLens: show Preview in 3D CodeLens above elements with geometry
  • ifc.viewer.maxFileSizeMb: maximum IFC file size the 3D preview will index

Large Files and Highlighting ​

  • ifc.analysis.astFileSizeLimitMb: maximum file size in MiB for AST-backed language-server features
  • ifc.semanticTokens.enabled: enable range-based semantic tokens

Schema ​

  • ifc.schema.overwriteExpSchemaWithLocal: force diagnostics and hover to use a local .exp schema file
  • ifc.schema.addLocalSchemaToSelection: add local .exp files or directories to schema selection

Debugging ​

These settings are intended for extension development, language-server development, and troubleshooting. Leave them unset unless you know you need them.

  • ifc.server.path: absolute path to a custom IFC language server binary. Clear this setting to return to the extension-managed downloaded server.
  • ifc.server.args: extra command-line arguments passed to the server
  • ifc.server.versionOverride: Git tag to download instead of the extension-pinned version
  • ifc.server.githubRepository: GitHub repository used for language server downloads
  • ifc.server.downloadAssetPattern: substring used to narrow the selected release asset
  • ifc.trace.server: trace level for language server protocol traffic

Do not point ifc.server.path at a binary inside the extension's managed global storage cache. Extension updates or language-server cleanup can remove cached versions, leaving the setting pointed at a file that no longer exists.

Common Recovery ​

If the extension fails to start the language server after changing server settings, clear ifc.server.path, restart the language server, and let the extension resolve the pinned server again.

Use IFC: Show Resolved Language Server to inspect which binary path the extension is currently trying to use.

Changes to IFC settings restart the language server automatically.