Helix (Hypersonic) IntelliSense
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, …).
- TypeScript / JavaScript ambient types (
helix.d.ts), including the Helix.* HelixJS namespace (Helix.Player, Helix.Database, Helix.WebUI, …).
- Zero-config: when a Helix project is detected (a
Content/Script folder or any .lua file), 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.
| |