> For the complete documentation index, see [llms.txt](https://boxlang-ide.ortusbooks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://boxlang-ide.ortusbooks.com/intellij/settings-reference.md).

# Settings Reference

The BoxLang IntelliJ plugin provides two levels of configuration: **application-level** (global) settings that apply to all projects, and **project-level** overrides for team collaboration.

Access settings via **Settings → Languages & Frameworks → BoxLang**.

***

## Application-Level Settings

Application-level settings are global defaults that apply to all BoxLang projects unless overridden at the project level.

### Runtime Configuration

| Setting             | Type         | Default        | Description                                                            |
| ------------------- | ------------ | -------------- | ---------------------------------------------------------------------- |
| **BoxLang Runtime** | Status panel | Not installed  | Shows current runtime status with Download/Change/Delete actions       |
| **BoxLang Home**    | Path         | `~/.boxlang`   | Directory for BoxLang configuration, modules, and logs                 |
| **Java Home**       | Path         | System default | Path to Java 21+ installation. Leave empty to use system Java          |
| **Use .bvmrc**      | Checkbox     | Enabled        | When enabled, reads BoxLang version from `.bvmrc` file in project root |

### LSP Configuration

| Setting                 | Type         | Default           | Description                                                                               |
| ----------------------- | ------------ | ----------------- | ----------------------------------------------------------------------------------------- |
| **LSP Module**          | Status panel | Not installed     | Shows current LSP status with Download/Change/Delete actions                              |
| **LSP BoxLang Version** | Text         | (runtime version) | BoxLang version used by the LSP server. Leave empty to match runtime                      |
| **LSP BoxLang Home**    | Path         | (runtime home)    | BoxLang home directory for the LSP server. Leave empty to match runtime                   |
| **LSP Modules**         | Text         | (empty)           | Comma-separated list of BoxLang modules to install in LSP home (e.g., `bx-esapi, bx-pdf`) |
| **LSP JVM Args**        | Text         | (empty)           | Additional JVM arguments for the LSP server process                                       |
| **LSP Module Path**     | Path         | (auto)            | Path to LSP module JAR. Leave empty for automatic management                              |
| **Max Heap Size**       | Spinner      | 512 MB            | Maximum heap size for LSP server (64-8192 MB, step 64)                                    |

### Debugger Configuration

| Setting                  | Type         | Default       | Description                                                       |
| ------------------------ | ------------ | ------------- | ----------------------------------------------------------------- |
| **Debugger Module**      | Status panel | Not installed | Shows current debugger status with Download/Change/Delete actions |
| **Debugger Module Path** | Path         | (auto)        | Path to debugger module JAR. Leave empty for automatic management |

***

## Project-Level Settings

Project-level settings override application-level defaults for the current project. Access via **Settings → Languages & Frameworks → BoxLang → Project Overrides**.

All settings from the application level can be overridden at the project level. This is useful for:

* **Team collaboration** — Share project-specific BoxLang versions
* **Multi-project workspaces** — Different BoxLang versions per project
* **Testing** — Try new BoxLang versions without affecting global settings

***

## Runtime Management Actions

The runtime, LSP, and debugger status panels provide three actions:

| Action       | When Available | Description                                              |
| ------------ | -------------- | -------------------------------------------------------- |
| **Download** | Not installed  | Download and install the latest version from ForgeBox/S3 |
| **Change**   | Installed      | Select a different version from available versions       |
| **Delete**   | Installed      | Remove the installed version from the cache              |

Clicking the **path link** opens the installation directory in your system file browser.

***

## .bvmrc Support

When **Use .bvmrc** is enabled, the plugin reads the BoxLang version from a `.bvmrc` file in the project root:

```
1.13.0
```

Or use `latest` for the most recent version:

```
latest
```

The `.bvmrc` version takes precedence over the configured runtime version.

***

## Storage Locations

The plugin stores downloaded components in the IDE's system directory:

| Component            | Location                                   |
| -------------------- | ------------------------------------------ |
| **Runtime versions** | `{IDE_SYSTEM}/boxlang/runtimes/{version}/` |
| **LSP modules**      | `{IDE_SYSTEM}/boxlang/lsp/{version}/`      |
| **Debugger modules** | `{IDE_SYSTEM}/boxlang/debugger/{version}/` |

Each version directory contains the JAR file and a `version.json` metadata file.

***

## Related Pages

* [Installation](/intellij/installation.md)
* [Runtime Management](/intellij/runtime-management.md)
* [Run Configurations](/intellij/run-configurations.md)
* [Debugging](/intellij/debugging.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://boxlang-ide.ortusbooks.com/intellij/settings-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
