IntelliSense, diagnostics, annotations and auto-completion for Helix scripting in Lua and TypeScript / JavaScript.
This extension is not authored, published, sponsored, nor endorsed by Hypersonic Laboratories or Cfx.re. It is a community project. "Helix" belongs to its respective owner.
Features
- Lua IntelliSense powered by sumneko's Lua Language Server: full auto-completion, hover docs, signature help, and diagnostics for the Helix API.
- Coverage of the documented Helix API surface:
- 36 classes (
Actor,HPlayer,HVehicle,Timer,Trace,WebUI, …) with inheritance. - 520+ functions with typed parameters and return values.
- 10 structs (
Vector,Rotator,Quat,Transform,Color, …) with constructors and constants. - 19 enums (
LightType,TraceMode,CollisionChannel, …). - Global "shortcut" functions (
GetAllPlayers,GetEntityCoords, …).
- 36 classes (
- TypeScript / JavaScript ambient types (
helix.d.ts), including theHelix.*HelixJS namespace (Helix.Player,Helix.Database,Helix.WebUI, …). - Zero-config: when a Helix project is detected (a
Content/Scriptfolder or any.luafile), the Lua language server and TS/JS service are configured automatically. - Snippets for common patterns: timers, player iteration, actor spawning.
- Regenerable: definitions are produced by a documentation-driven generator, so they can be refreshed as the (alpha) API evolves.
Requirements
The Lua extension by sumneko is installed automatically as a dependency.
Usage
- Install the extension and open your Helix project folder.
- It auto-configures on detection. To configure manually, run Helix: Enable IntelliSense for this Workspace from the Command Palette.
- Start scripting in
Content/Script/*.lua(or.ts/.js) and enjoy completions.
Commands
| Command | Description |
|---|---|
Helix: Enable IntelliSense for this Workspace |
Configure the Lua/TS language services for the current folder. |
Helix: Open API Documentation |
Open the official Helix API reference. |
Helix: Initialize Helix Script Project |
Scaffold Content/Script/main.lua and configure the workspace. |
Settings
| Setting | Default | Description |
|---|---|---|
helix.enable |
true |
Auto-configure when a Helix project is detected. |
helix.luaVersion |
Lua 5.4 |
Lua runtime version reported to the language server. |
helix.scriptRoots |
["${workspaceFolder}/Content/Script"] |
Folders added to the Lua library. |
helix.injectTypeScriptTypes |
true |
Inject helix.d.ts into the workspace for TS/JS IntelliSense. |
Regenerating definitions
The definitions in definitions/ are generated from the Helix documentation:
# point --docs at a local checkout of the helix-documentation repo
npm run gen -- --docs /path/to/helix-documentation/docs
License
MIT. Bundled API definitions are derived from the Helix documentation.