> ## Documentation Index
> Fetch the complete documentation index at: https://glua.bluejutzu.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Install GLua Language Server for VS Code

> Install the GLua Language Server VS Code extension from a GitHub release or build it from source with pnpm in three steps.

GLua Language Server is distributed through GitHub Releases rather than the VS Code Marketplace, so you install the `.vsix` file directly. You can also build it yourself from source. Both methods take only a few minutes.

<Note>
  This extension is not on the VS Code Marketplace. Every release is published to GitHub with the packaged `.vsix` attached.
</Note>

## From a release

<Steps>
  <Step title="Download the VSIX">
    Grab `glua-lsp-<version>.vsix` from the [latest release](https://github.com/Bluejutzu/glua-lsp/releases/latest).
  </Step>

  <Step title="Install it">
    Run this from the folder you saved the file in.

    <CodeGroup>
      ```bash VS Code theme={null}
      code --install-extension glua-lsp-0.1.0.vsix
      ```

      ```bash Cursor theme={null}
      cursor --install-extension glua-lsp-0.1.0.vsix
      ```
    </CodeGroup>

    Or from inside the editor: **Extensions** → the `···` menu → **Install from VSIX…**
  </Step>

  <Step title="Open a GLua file">
    The extension activates when you open a `.lua` file in a Garry's Mod workspace.
  </Step>
</Steps>

<Warning>
  Cursor, VS Code and VSCodium keep separate extension directories. Install into each editor you use.
</Warning>

### Updating

A `.vsix` install does not auto-update. Download the newer file and run the same install command — it replaces the previous version in place.

To hear about new versions, watch the repository: **Watch** → **Custom** → **Releases**.

### Unreleased builds

Every push to `main` builds and attaches a `.vsix` to its CI run, so you can pick up a fix before it is tagged. Open the [latest CI run](https://github.com/Bluejutzu/glua-lsp/actions/workflows/ci.yml), scroll to **Artifacts**, and download `glua-lsp-vsix-<sha>`.

<Note>
  GitHub wraps workflow artifacts in a `.zip`. Unzip it to get the `.vsix` inside.
</Note>

## From source

<Steps>
  <Step title="Clone and install dependencies">
    Clone the repository and install packages with pnpm.

    ```bash theme={null}
    git clone https://github.com/Bluejutzu/glua-lsp.git
    cd glua-lsp
    pnpm install
    ```
  </Step>

  <Step title="Build and package">
    Compile the extension and produce a `.vsix`.

    ```bash theme={null}
    pnpm run build
    pnpm run package
    ```

    That writes `packages/glua-lsp/glua-lsp-<version>.vsix`.
  </Step>

  <Step title="Run or install">
    Press **F5** to launch the extension in a new Extension Development Host window, or install the package you just built.

    ```bash theme={null}
    code --install-extension packages/glua-lsp/glua-lsp-0.1.0.vsix
    ```
  </Step>
</Steps>

## Verify the installation

Open any `.lua` file inside a Garry's Mod addon folder. The VS Code status bar should show a realm label such as `GLua · Server`. If you see that label, the language server is active and indexing your workspace.

<Warning>
  If the status bar shows `Plain Lua`, the workspace was not recognised as a Garry's Mod project. Click the status bar item to switch the mode manually, or set `glua.activation` to `always` in your VS Code settings.
</Warning>

## Setting it as your formatter

To format GLua files with the extension, register it as the default formatter for the `glua` language in your user or workspace `settings.json`:

```json theme={null}
{
  "[glua]": {
    "editor.defaultFormatter": "bluejutzu.glua-lsp",
    "editor.formatOnSave": true
  }
}
```

## Requirements

* VS Code 1.85 or newer
* No network connection required at runtime (the full wiki dataset is bundled)
* No additional dependencies or external tools needed


## Related topics

- [GLua Language Server: GMod Lua IDE Support](/index.md)
- [Configure GLua Language Server](/configuration/overview.md)
- [GLua Language Server Commands](/reference/commands.md)
- [Get Started with GLua Language Server](/quickstart.md)
