Skip to content

Shresht7/vscode-bg3-modding

Repository files navigation

BG3 Modding support for Visual Studio Code

This VS Code extension contains useful tools, snippets and helpers for creating mods for Baldur's Gate 3.

Table of Contents

⚡ Activation Events

  • workspaceContains:/**/meta.lsx

    The extension activates for a workspace that contains the meta.lsx file.

⭐ Features

📄 Snippets

The extension contributes the following snippets:

Name Activation Description
BG3 UUID uuid Generate a random UUID
BG3 Handle handle Generates a random UUID handle used in localization files
Ext.Utils.Print() print, eup Ext.Utils.Print()
Ext.Osiris.RegisterListener() rl, orl, eorl Ext.Osiris.RegisterListener()
Override Stat Entry new, override Create an override for an existing Stat Entry
Script-Extender Config cfg, Config.json Generates the boilerplate Script-Extender Config.json
meta.lsx meta Generates the boilerplate template for meta.lsx

⌨️ Commands

The extension contributes the following commands:

Generate UUID

Generate a random UUID and insert at the current selection.

b7b98e25-ff34-40dd-b019-ab25521ae5a0

Generate Handle

Generate Handle and insert at the current selection.

hb7b98e25gff34g40ddgb019gab25521ae5a0

Copy Mod UUID

Copies the Mod's UUID to the clipboard.

Convert Version Number

Convert between BG3 version numbers.

1.0.0.0 --> 36028797018963968
36028797018963968 --> 1.0.0.0
Input: Version Number

Takes the version number as input in either the string format (e.g. 1.0.0.0) or bigint format (e.g. 36028797018963968).

Bump Version Number

Bumps the version number in the meta.lsx by the specified type.

1.0.0.0 --- Bump Minor Version --> 1.1.0.0
1.2.0.7 --- Bump Major Version --> 2.0.0.0
Input: Kind
  • Major
  • Minor
  • Revision
  • Build

✅ JSON Validation

The extension contributes JSON validation schemas for:

This will enable intellisense and provide validation for these files.

⚙️ Default Configurations

The extension provides default configuration settings for:

files.associations

"files.associations": {
    "*.lsx": "xml",
    "*.lsj": "json"
},

search.exclude

"search.exclude": {
    "**/*.raw": true,
    "**/Story/*.div": true,
    "**/*.osi": true,
    "**/*.dat": true
}

⚙️ Extension Settings

Include if your extension adds any VS Code settings through the contributes.configuration extension point.

For example:

This extension contributes the following settings:

  • myExtension.enable: Enable/disable this extension.
  • myExtension.thing: Set to blah to do something.

📄 License

This project is licensed under the MIT License.

About

A VSCode extension with tools, snippets and helpers for modding Baldur's Gate 3

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages