rce.js IntelliSense
Full IntelliSense, diagnostics, signature help, tree explorer, and project scaffolding for rce.js - the Rust Console Edition RCON integration library.
Features
IntelliSense & Completions
Event name completions - type .on(' and get a dropdown of all 33 rce.js events with full payload documentation:
rce.on('playerKill', ({ server, killer, victim }) => { ... });
// ^-- autocomplete here
Enum member completions - type RCEEvent., RCEIntent., LogLevel., GameRole., GamePlatform., PlayerKillType. to get all members with descriptions and values.
QuickChat completions - type QuickChat. to get all 73 enum values grouped by category (COMBAT, BUILDING, ACTIVITIES, QUESTIONS, RESPONSES, ORDERS, LOCATION, NEED, HAVE).
RCON command completions - type rce.sendCommand('id', ' to get a list of common RCON commands with their signatures.
Method completions - type rce. to see all public RCEManager methods with signatures and return types.
Signature Help
Parameter hints appear automatically when calling RCEManager methods. Shows parameter name, type, and description for every argument:
rce.addServer( ← shows full IServerOptions structure
rce.sendCommand( ← shows identifier + command params
rce.on( ← shows event + listener params
rce.upsertPlayer( ← shows all 4 params
Hover Documentation
Hover over any rce.js symbol to see inline documentation:
| Symbol |
Hover shows |
RCEEvent.PlayerKill |
Payload fields, description, example code |
RCEIntent.PlayerList |
What it polls, what it enables, interval |
addServer |
Full signature, all params, return type |
IPlayer |
Complete interface definition |
IServer |
All fields including cached data |
IKillPlayer |
Fields used in PlayerKill event |
QuickChat.COMBAT_Retreat |
Group, message text, raw value |
LogLevel.Debug |
Description |
Diagnostics
Unknown event names in .on(), .once(), or .off() calls are flagged with a warning:
rce.on("playerkill", handler);
// ^^^^^^^^^^ Unknown rce.js event. Did you mean 'playerKill' (RCEEvent.PlayerKill)?
Tree View Explorer
The RCE.js panel appears in the Explorer sidebar with 5 sections:
- Events (33) - grouped by Player / Team / World / Server. Click any event to insert its handler snippet directly into the active editor.
- Intents (8) - click to insert
RCEIntent.X at cursor.
- Methods (14) - click to insert the method call.
- Types (8) - browse
IPlayer, IServer, ITeam, IKillPlayer, IRustServerInformation, IServerKit, IServerZone, IServerOptions with field tooltips.
- QuickChat (73) - all values grouped, click to insert
QuickChat.X.
Event Reference Panel
Open the full reference panel via Command Palette → RCE.js: Show Event Reference or the book icon in the RCE.js sidebar. Contains 5 tabs:
| Tab |
Contents |
| Events |
All 33 events - corrected payload fields, copy-able example code, searchable |
| Intents |
All 8 intents with descriptions |
| Methods |
All 14 methods with param/return docs |
| Types |
Full TypeScript interface definitions |
| QuickChat |
All 73 values in a searchable table |
Project Scaffolding
Command Palette → RCE.js: Create New rce.js Project
Walks you through a 3-step wizard:
Choose a template:
- Basic - manager + server + ready/error handler
- Discord Bot - adds discord.js integration boilerplate
- Full Featured - organized
src/events/ structure with player, world, and team event files
Enter a project name
Choose destination folder
Creates a ready-to-go project with package.json, tsconfig.json, .env, .gitignore, and pre-wired TypeScript source files. Just run npm install.
Snippets (40+)
Type a prefix and press Tab to expand. All snippets are available in TypeScript and JavaScript.
Setup
| Prefix |
Description |
rce-setup |
Full boilerplate - manager, server, ready + error handler |
rce-manager |
Just new RCEManager(...) |
rce-server |
addServer() block |
rce-multi-server |
Connect two servers with Promise.all |
rce-import |
Common imports |
rce-import-full |
All exports |
rce-discord |
Full Discord bot template |
Event Handlers (per-event)
| Prefix |
Event |
rce-on-ready |
Ready |
rce-on-join |
PlayerJoined |
rce-on-leave |
PlayerLeft |
rce-on-kill |
PlayerKill |
rce-on-kill-pvp |
PlayerKill (PvP only, filtered) |
rce-on-suicide |
PlayerSuicide |
rce-on-respawn |
PlayerRespawned (with platform) |
rce-on-ban |
PlayerBanned (with optional admin) |
rce-on-unban |
PlayerUnbanned |
rce-on-role-add |
PlayerRoleAdd |
rce-on-role-remove |
PlayerRoleRemove |
rce-on-playerlist |
PlayerListUpdated (with joined/left diff) |
rce-on-quickchat |
QuickChat |
rce-on-vending |
VendingMachineName (oldName + newName) |
rce-on-note |
NoteEdit (oldContent + newContent) |
rce-on-item |
ItemSpawn (with quantity) |
rce-on-kit |
KitSpawn (with optional admin) |
rce-on-team-created |
TeamCreated |
rce-on-team-join |
TeamJoin |
rce-on-team-leave |
TeamLeave |
rce-on-team-invite |
TeamInvite |
rce-on-team-invite-cancel |
TeamInviteCancel |
rce-on-team-promoted |
TeamPromoted (oldOwner + newOwner) |
rce-on-event-start |
EventStart (airdrop, cargo, heli, etc.) |
rce-on-freq-gained |
FrequencyGained (coordinates + range) |
rce-on-freq-lost |
FrequencyLost |
rce-on-zone-created |
CustomZoneCreated |
rce-on-zone-removed |
CustomZoneRemoved |
rce-on-save |
ServerSaving (with entity count) |
rce-on-serverinfo |
ServerInfoUpdated |
rce-on-message |
Message (raw) |
rce-on-executing |
ExecutingCommand |
rce-on-error |
Error |
Utility
| Prefix |
Description |
rce-command |
sendCommand() with await |
rce-say |
Broadcast server chat message |
rce-info |
fetchInfo() with null check |
rce-teams |
Get and log all teams |
rce-player-team |
Get a player's team |
rce-upsert-player |
Create/update a player |
rce-quickchat-check |
QuickChat with specific message filter |
Commands
All commands are available via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
| Command |
Description |
RCE.js: Create New rce.js Project |
Multi-step project scaffolding wizard |
RCE.js: Show Event Reference |
Open the full reference panel |
RCE.js: Refresh |
Refresh the sidebar tree view |
Settings
| Setting |
Default |
Description |
rce.intellisense.enabled |
true |
Enable/disable completions |
rce.intellisense.showHoverDocs |
true |
Enable/disable hover documentation |
Installation
From .vsix (local)
code --install-extension rce-js-intellisense-x.x.x.vsix
From source
git clone https://github.com/KyleFardy/rce-js-intellisense
cd rce-js-intellisense
npm install
npm run compile
npm run package
code --install-extension rce-js-intellisense-*.vsix
rce.js Version Support
This extension targets rce.js v4.6.2. All 33 events, 8 intents, 14 methods, 8 interfaces, and 73 QuickChat values are sourced directly from the rce.js source code.
Contributing
See CONTRIBUTING.md.
License
MIT