# Settings

There are several settings that you can use to alter default behavior. The settings are grouped into these areas: General, Navigator, Printing, Coding, Layout, Localization, Building, Debugging, Proxy and Updates.

On Windows and Linux, the menu item that opens the Settings window is called Options and is in the Edit menu. On macOS, the menu item that opens the Settings window is located in the App menu.

## General

![image](images/settings_general.png)

The General area contains the most common settings.

### Show Library and Inspector

Specifies how you want to see the `Library</getting_started/using_the_ide/library>` and `Inspector</getting_started/using_the_ide/inspector>`. By default they appear on the right side of the Workspace, both sharing the same area. You can instead choose to display them as floating palettes so that they are both visible on the screen at the same time and do not take up space in the Workspace.

### Default project format

When you save your projects, Xojo uses the standard single-file binary format by default (xojo_binary_project). Use this setting to change the default project format. Refer to the `Project Types topic</getting_started/using_the_ide/project_file_information>` to learn more about the project formats.

### When seeking help

Xojo looks up commands using the Documentation Window. By default, it displays the documentation from the xojo website so that it's always up to date. However, there is a complete set of documentation built-in to Xojo that it will use if you have no Internet connection.

You can also browse the documentation [online](https://documentation.xojo.com).

### When closing last window

This setting is only available on Windows.

When *Keep Xojo running* is selected, a new icon appears in the Taskbar Notifications area (also known as the System Tray) and Xojo remains running when you close the last Workspace window (instead of quitting). You can right-click on the Notification icon to display a menu with *New Project*, *About Xojo* and *Exit*. *New Project* opens the Project Chooser window, *About Xojo* displays the About window and *Exit* quits Xojo completely.

### Number of recent items

This is the number of recent items that are remembered in the File \> Open Recent menu and the Project Chooser.

### Find

Here you can choose to have find results appear immediately when you pause typing or only when you press return in the find field of the Find panel or the Filter field.

### Menu short cuts

You can change and assign short cuts to any Xojo menu item. Click the *Edit Menu Shortcuts...* button to display the menu shortcut editor. The editor displays the Xojo menu structure in a hierarchical list. Click on a row to change the shortcut key and its related modifier keys. To clear a menu keyboard shortcut, click on that row and then choose Edit \> Cut. Click the *Restore Defaults* button to restore the original set of short cuts. Click the *Save* button to save your changes, which take effect immediately.

### Use large font in Navigator, Library & Inspector

The *Use large font* setting uses a larger font size to display the text in in the Navigator, Library, and Inspector. This setting is also used by the Constant, Enumeration, and Structure editors.

### Install Local Documentation

By default, all Xojo documentation is online. Clicking this button will install a local version for offline use. You can click this button again to update your local documentation.

### Anthropic API key

Jade, the Xojo Intelligent Assistant, requires an API key from [Anthropic](https://www.anthropic.com) in order to function. Once you have created an account with Anthropic and generated an API key, paste it here.

## Navigator

![image](images/settings_navigator.png)

The Navigator settings control how the `Navigator</getting_started/using_the_ide/navigator>` works.

### Show item scope

This setting determines how the scope for properties and methods is displayed in the Navigator. Choosing “Behind item text” has the scope color displayed as the background color behind the item in the Navigator. Choosing “Over item icon” displays an overlay on the item in the Navigator indicating its scope.

### Double-click opens item in new tab

The *Double-click opens item in a new tab* setting controls the behavior of double-clicking project items in the Navigator. The default behavior is to “drill into” the project item using the Jump Bar.

Check the box to instead open the project item in its own tab when it is double-clicked.

### Show default values in Navigator

The *Show default values in navigator* setting controls whether defaults values assigned to properties appear next to the property name in the Navigator.

### Show member types

The *Show member types* setting controls whether the types of properties appear next to the property name in the Navigator.

### Search field function

This setting controls the behavior of the search field at the top of the Navigator. The *Filter* option means it will reduce the selection of project items displayed in the Navigator to those that match what has been entered in the search field. The *Go To Location* option means that it will serve the same purpose as the `Go To Location</getting_started/using_the_ide/navigator/go_to_location>` menu item.

## Printing

![image](images/settings_printing.png)

The Printing settings control how your code looks when it is `printed</getting_started/using_the_ide/navigator/printing>`.

### Font

Choose the font to use for the printed text.

### Size

Choose the font size to use for the printed text.

### Features

Check *Print in color* if you want the source code printed using the syntax colors specified in the Coding settings.

Check *Include images of layouts* if you want printouts to include images of your user interface layouts (windows and web pages).

## Coding

![image](images/settings_coding.png)

The Coding settings control how the code is displayed in the `Code Editor</getting_started/using_the_ide/code_editor>`.

### Font

Select the font to use in the Code Editor from the list of available fonts installed on your system. For best results, use a monospaced font.

### Size

Specifies the font size to use in the Code Editor.

### Syntax colors

You can customize the colors of various parts of your source code. Select a particular syntax and then click the color box to choose a color for it. You can save these changes as an XML *Theme* to share with others using the Import Theme and Export Theme buttons. Use the Reset button to return the default syntax colors.

### Default comment style

This setting determines the comment style that is used by the Comment button and function on the contextual menu.

### Autocomplete

These three options allow you to control how Autocomplete works:

- Apply standard case will use the correct case when autocompleting (MessageBox instead of messagebox, for example).
- Show icons will show icons next to the values in the autocomplete list.
- Show deprecated items will cause the autocomplete menu to show items that have been deprecated.

### Behavior

The four options are:

- Standardize Format: Applies *standardized format* (which automatically case-corrects keywords for you) when you press return on the line or move to a new line.
- Show line numbers in gutter: Displays numbers for each line starting with 1. These numbers correspond to error messages that indicate a line number.
- Hightlight current row: When the cursor is clicked on a particular line of code, the background of the line is highlighted to make it easier to see which line is being edited.
- Display selection matches: When a variable is selected, all instances of that variable in the Code Editor will also be selected making it easy to find them.

### Page Guide

When enabled, the Page Guide displays a vertical line in the <span class="title-ref">Code Editor</span> at the column you specify, providing a visual guide to help keep your code lines within a readable width. To enable it, check the *Page Guide at* checkbox and enter the desired column number. The traditional width is 80 characters.

### Automatically standardize format

This controls when the Xojo Code Editor should format your code. The options are:

- Never - As it implies, The Code Editor will never automatically format your code.
- After Ending line - Standard formatting will be apply when you press `Return` At the end of a line. This or *Never* is best if you are using version control.
- Always - Standard formatting will be apply any time you leave the line in any way.

The default setting is Never.

### Syntax help area

Allows you to decide how many lines will be displayed in the Code Editor's Syntax Help Area. You can choose from 2 to 6 lines or Resizeable which will auto-resize as necessary.

### Home and End keys

Determine how you want the Home and End keys to work in the Code Editor.

## AI

![image](images/settings_ai.png)

The AI settings control what access `Jade</getting_started/using_the_ide/ask_jade>` has to Large Language Models (LLMs).

### Enable AI Features (Jade)

Makes the `Jade</getting_started/using_the_ide/ask_jade>` assistant available from the IDE's toolbar.

### Service

Indicates the Large Language Model (LLM) `Jade</getting_started/using_the_ide/ask_jade>` will use.

### Local base URL

The URL that points to a Large Language Model (LLM) running on the local machine. The name of the model is specified at the end of the URL prefixed with a \# sign.

Example: <http://127.0.0.1:1234#qwen2.5-coder:14b>

<div class="note">

<div class="title">

Note

</div>

This requires the Service to be set to Local.

</div>

### Allow access to project context (when supported)

When selected allows `Jade</getting_started/using_the_ide/ask_jade>` access to your projects allowing you to ask Jade for help with code and compilation errors.

### Restore conversation from last time

When selected allows `Jade</getting_started/using_the_ide/ask_jade>` to continue the conversation with the same context from the previous time you launched the Xojo IDE.

### Anthropic API Key

To use Anthropic's Claude models with `Jade</getting_started/using_the_ide/ask_jade>` enter your Anthropic API key here.

### Open API Key

To use Open AI's models with `Jade</getting_started/using_the_ide/ask_jade>` enter your Open AI API key here.

<div id="/getting_started/using_the_ide/settings/openrouter_api_key">

OpenRouter API Key \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

</div>

To use models from multiple AI providers through OpenRouter with `Jade</getting_started/using_the_ide/ask_jade>` enter your Open Router API key here.

## Layout

![image](images/settings_layout.png)

The Layout settings adjust how the `Layout Editors</getting_started/using_the_ide/layout_editor>` work.

### Default control font

By default, System is used as the Font for all controls. This allows the platform to substitute its own default font at runtime. If you would rather use a specific font as the default, you can choose it here.

### Size

By default, 0 is used as the Font Size for all controls. This allows the platform to substitute is own default font size at runtime. If you would rather use a specific font size as the default, you can set it here.

### When selecting a control

When you have nested controls (one control on top of another control or control parenting), the Layout Editor highlights the parent control with a red outline. If you would rather not see this, you can turn it off here.

### Layout editor background

Used to change the background color of the layout editor. Click the Reset button to restore the default layout background.

## Localization

![image](images/settings_localization.png)

The Localization settings controls the order of languages in localization menus (such as Shared Build Settings and Constant Editors).

In the list of languages, you can drag to re-order the languages or use the Move Up/Move Down buttons. By default, the more common languages are listed at the top, followed by less common languages at the bottom.

## Building

![image](images/settings_building.png)

The Building settings control what Xojo does when building or `running projects</getting_started/using_the_ide/running_the_project>`.

### Show built apps

After building your app, the built app can be displayed using the built-in OS file viewer (the Finder on macOS, Explorer on Windows and File Manager on Linux).

### When not using build folders and a file already exists

When Building your app (with Use Build Folders set to OFF in Shared Build Settings), existing built apps (and related files) are normally replaced automatically. If you would rather be prompted when a file will be overwritten, you can change this here.

### Build unsaved apps in

If you try to build an unsaved project, this location is used to store the built app.

### Clear caches

Click the Clear button to clear Xojo build caches for plugin precompliation and conditional compilation.

## Debugging

![image](images/settings_debugging.png)

The debugging settings are used to control debugging and remote debugging.

### Font

This section allows you to choose both the Font and Font Size for the code when it is displayed in the Debugger.

### Network interface

Specify the networking interface to use to connect to the Remote Debugger.

### Remote debug hosts

Here you can add, edit or remove remote debugging locations.

### Show Object IDs in variable lists

Displays object IDs in the debugger Variable area.

### Hide bottom pane on run

This setting controls whether the bottom panel (`Find/Errors/Messages</getting_started/using_the_ide/find-_errors-_messages_panels>`) is automatically hidden when you `run the project</getting_started/using_the_ide/running_the_project>`.

## Proxy

![image](images/settings_proxy.png)

The Proxy settings are used to specify proxy information so that Xojo can connect to the server to validate your licenses and check for new versions. These settings are also used when you *Sign In* to Xojo.

Select the *Connect using a proxy server* checkbox to enable use of the specified proxy server. Fill in the appropriate fields to specify the location of the proxy server and any information needed for authentication.

## Updates

![image](images/settings_updates.png)

The Updates settings allow you to choose how often Xojo checks for new versions. You can also specify whether you will allow your system information to be sent to Xojo servers to improve system support.
