VS Code

Installation

  1. Download and extract the Cyber Engine Tweaks Lua Lib.

  2. Install the Lua by sumneko extension.

  3. Add next settings to the .vscode\settings.json or in the Settings GUI:

    {
    "Lua.runtime.version": "LuaJIT",
    "Lua.workspace.preloadFileSize": 15360,
    "Lua.workspace.library": [
    "c:\\path\\to\\cet-lua-lib"
    ]
    }
  4. On first use it takes a couple of minutes to parse and cache all definitions.

    Unfortunately there is no visual indication of this process.

    When it's done the code assistance will be more responsive.

Features

  • Code completion for built-in Cyber Engine Tweaks and Cyberpunk 2077 types and functions (except ImGui and sqlite)

  • Type resolving for Game.GetScriptableSystemsContainer():Get("Type"), NewObject("Type"), and GetSingleton("Type")

  • Contextual suggestions for default values and predefined sets

Annotations

Callback parameters

You can specify the type of the parameters with @param annotation. It's very handy for Observe and Override:

[email protected] request PerformFastTravelRequest
Observe("FastTravelSystem", "OnPerformFastTravelRequest", function(request)
-- Now request object has type and suitable for code completion
end)

Unresolved type

If type of some variable cannot be resolved or ambiguous you can force the type with @type annotation:

[email protected] ScriptedPuppet
local puppet

Generic functions

The type of the result of some functions depends on the parameters passed to the function. If a valid type name is passed as a parameter, then the resulting type must be resolved without custom annotations.