Skip to content

Settings

Ketho edited this page Aug 14, 2024 · 3 revisions

Workspace vs User settings

Workspace settings have precedence over user settings, this means that any settings in the workspace will override the respective user setting.

  • Workspace and user settings are not merged; either a specific workspace setting gets used (if it exists), or the user setting.
  • Even empty arrays like "Lua.workspace.library": [] will override the user setting.

Warning

The "VS Code part" of the extension only loads when a window with a Lua file is open. So changing settings while the extension is not yet active will result in the extension not properly migrating/updating settings.

Tip

It's recommended to verify the JSON files after toggling the extension settings. The extension tries to be smart about it but it can make mistakes when migrating settings between workspace and user settings. Restarting VS Code might solve some of these issues.

Configuration scope

The following LuaLS settings are automatically configured in either workspace or user settings with wowAPI.luals.configurationScope.

  • Lua.workspace.library
  • Lua.runtime.version (if wowAPI.luals.setLuaRuntime is true)
  • Lua.runtime.builtin (if wowAPI.luals.setLuaRuntime is true)

Set Lua Runtime

Note

This option was added for users who have both normal and WoW Lua code in their workspace, e.g. for tooling.

If wowAPI.luals.setLuaRuntime is enabled (default), then the standard Lua libraries are replaced by the WoW Lua version.

"Lua.workspace.library": [
    "~\\.vscode\\extensions\\ketho.wow-api-0.16.7\\Annotations",
],
"Lua.runtime.version": "Lua 5.1",
"Lua.runtime.builtin": {
    "basic": "disable",
    "debug": "disable",
    "io": "disable",
    "math": "disable",
    "os": "disable",
    "package": "disable",
    "string": "disable",
    "table": "disable",
    "utf8": "disable"
},

If wowAPI.luals.setLuaRuntime is disabled, then the standard Lua libraries are not disabled and the Annotations/Lua folder will not be loaded.

"Lua.workspace.library": [
    "~\\.vscode\\extensions\\ketho.wow-api-0.16.7\\Annotations\\Data",
    "~\\.vscode\\extensions\\ketho.wow-api-0.16.7\\Annotations\\Interface",
    "~\\.vscode\\extensions\\ketho.wow-api-0.16.7\\Annotations\\Libraries",
    "~\\.vscode\\extensions\\ketho.wow-api-0.16.7\\Annotations\\Type",
    "~\\.vscode\\extensions\\ketho.wow-api-0.16.7\\Annotations\\Widget"
],
Clone this wiki locally