-
-
Notifications
You must be signed in to change notification settings - Fork 46
Settings
- Workspace settings only affect the workspace.
- User settings are set globally and affect all your workspaces/projects, if there is not a workspace setting.
The extension provides a "Configuration Scope" setting to automatically configure certain LuaLS settings in Workspace or User settings.
Workspace settings have precedence over User settings, this means that any settings in the workspace will override the respective user setting.
Note
- 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.
Besides opening the settings UI, you can also edit the settings.json file via the Command Palette.

If you're using User settings, but you also have projects that need to use Workspace settings, then they need to explicitly have "wowAPI.luals.configurationScope": "Workspace" defined in the workspace.
(Otherwise the extension assumes you want User settings in all of your projects and you will keep losing most workspace settings.)
- How the settings should look like for a project with Workspace settings:
- And in the workspace/user settings.json:
If you require full control of these configurations for e.g. the following reasons:
- You want to choose which (sub)folders are added to
Lua.workspace.library - You have other Lua code and do not want to be restricted to the WoW version of Lua 5.1
By manually adding the "wowAPI.devMode": true configuration setting in either the Workspace or User settings.json this will tell the extension not to touch any configuration settings. The drawback is you will have to keep the extension version in the paths manually updated.
The default configuration: The Lua runtime is replaced with our own version, and all folders in Annotations/Core are loaded.
"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"
},
"Lua.workspace.library": [
"~\\.vscode\\extensions\\ketho.wow-api-0.20.4\\Annotations\\Core",
],Dev Mode is enabled, the Lua runtime is not replaced and the Annotations/Core/Lua and Annotations/Core/FrameXML folders are excluded.
"wowAPI.devMode": true,
"Lua.workspace.library": [
"~\\.vscode\\extensions\\ketho.wow-api-0.20.4\\Annotations\\Core\\Blizzard_APIDocumentationGenerated",
"~\\.vscode\\extensions\\ketho.wow-api-0.20.4\\Annotations\\Core\\Data",
"~\\.vscode\\extensions\\ketho.wow-api-0.20.4\\Annotations\\Core\\Libraries",
"~\\.vscode\\extensions\\ketho.wow-api-0.20.4\\Annotations\\Core\\Type",
"~\\.vscode\\extensions\\ketho.wow-api-0.20.4\\Annotations\\Core\\Widget",
],Multi-root Workspaces are currently untested.