Configuration
Levitate IDE offers extensive customization options to tailor the editor to your preferences and workflow.
Settings
Accessing Settings
Open the Settings panel using one of these methods:
- Press
Ctrl+,(orCmd+,on macOS) - Click the gear icon in the lower left corner
- Use the Command Palette (
Ctrl+Shift+P/Cmd+Shift+P) and type "Settings"
Settings Interface
The Settings interface is organized into categories:

- Search Bar: Quickly find specific settings
- Categories: Browse settings by functional area
- Editor: Real-time preview of changes
- JSON View: Toggle between UI and JSON editing
Common Settings
Editor Appearance
| Setting | Description | Default |
|---|---|---|
editor.fontSize | Font size in pixels | 14 |
editor.fontFamily | Font for editor | 'Menlo, Monaco, Consolas, monospace' |
editor.lineHeight | Line height as a multiplier | 1.5 |
editor.minimap.enabled | Show/hide code minimap | false |
editor.renderWhitespace | Render whitespace characters | 'selection' |
Editor Behavior
| Setting | Description | Default |
|---|---|---|
editor.tabSize | Number of spaces per tab | 2 |
editor.insertSpaces | Use spaces instead of tabs | true |
editor.wordWrap | Word wrap long lines | 'off' |
editor.autoSave | Auto-save files | 'afterDelay' |
editor.formatOnSave | Format code when saving | true |
AI Features
| Setting | Description | Default |
|---|---|---|
ai.completions.enabled | Enable AI code completions | true |
ai.completions.delay | Delay before showing suggestions (ms) | 300 |
ai.model.provider | AI model provider | 'local' |
ai.model.temperature | Creativity of completions (0-1) | 0.3 |
Themes
Color Themes
Levitate comes with several built-in themes:
- Levitate Dark (default)
- Levitate Light
- Midnight Blue
- Forest Green
- High Contrast
To change the theme:
- Open Settings
- Select the "Color Theme" category
- Choose your preferred theme
Installing Custom Themes
- Open Extensions panel (
Ctrl+Shift+X/Cmd+Shift+X) - Search for "themes"
- Browse and install theme extensions
- Apply the new theme from Settings
Creating Custom Themes
You can create your own theme by:
- Opening Command Palette and selecting "Developer: Generate Color Theme"
- Customizing the generated JSON file
- Saving it as a
.jsonfile in the.levitate/themesdirectory
Keyboard Shortcuts
Viewing Keyboard Shortcuts
Access the keyboard shortcuts editor:
- Press
Ctrl+K Ctrl+S(orCmd+K Cmd+Son macOS) - Use Command Palette and type "Keyboard Shortcuts"
Customizing Shortcuts
- Find the command you want to customize
- Click the pencil icon next to the shortcut
- Press the desired key combination
- Press Enter to save
Common Customizations
Popular shortcut customizations include:
| Command | Default | Common Alternative |
|---|---|---|
| Save File | Ctrl+S | Cmd+S (macOS) |
| Format Document | Shift+Alt+F | Cmd+Shift+L |
| Toggle Terminal | Ctrl+` | Cmd+` (macOS) |
| Open Command Palette | Ctrl+Shift+P | F1 |
Language-Specific Settings
Levitate allows configuration specific to each programming language.
Accessing Language Settings
- Open Settings
- Search for the language name (e.g., "python", "typescript")
- Adjust language-specific settings
Example: Python Configuration
{
"[python]": {
"editor.tabSize": 4,
"editor.insertSpaces": true,
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.python"
},
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.provider": "black",
"python.analysis.typeCheckingMode": "basic"
}
Example: TypeScript Configuration
{
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-typescript",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
"typescript.updateImportsOnFileMove.enabled": "always",
"typescript.preferences.quoteStyle": "single"
}
User Snippets
Create reusable code snippets to speed up your workflow:
- Open Command Palette (
Ctrl+Shift+P/Cmd+Shift+P) - Type "Snippets: Configure User Snippets"
- Select a language or create a global snippet file
- Add your custom snippets
Snippet Format
{
"Print to console": {
"prefix": "log",
"body": ["console.log($1);", "$2"],
"description": "Log output to console"
}
}
Project-Specific Settings
Workspace Settings
Create project-specific settings that override user defaults:
- Create a
.levitatefolder in your project root - Add a
settings.jsonfile within that folder - Add project-specific settings to this file
These settings will only apply to this project.
Example Workspace Configuration
{
"editor.tabSize": 4,
"editor.insertSpaces": true,
"ai.model.provider": "openai",
"git.autofetch": true,
"terminal.integrated.defaultProfile.osx": "bash"
}
Extensions
Levitate's functionality can be extended through plugins:
Managing Extensions
- Open Extensions panel (
Ctrl+Shift+X/Cmd+Shift+X) - Browse, install, enable, or disable extensions
- Configure extension settings through the Settings panel
Recommended Extensions
| Category | Recommended Extensions |
|---|---|
| Python | Python Extension Pack, Pylint, Black Formatter |
| TypeScript | ESLint, Prettier, Import Cost |
| Git | GitLens, Git History |
| Themes | Night Owl, Dracula, GitHub Theme |
Advanced Configuration
Configuration File Locations
| Platform | User Settings | Extensions |
|---|---|---|
| Windows | %APPDATA%\Levitate\User\settings.json | %APPDATA%\Levitate\extensions |
| macOS | ~/Library/Application Support/Levitate/User/settings.json | ~/Library/Application Support/Levitate/extensions |
| Linux | ~/.config/Levitate/User/settings.json | ~/.config/Levitate/extensions |
Command Line Configuration
Levitate can be configured via command line arguments:
levitate --user-data-dir=/custom/path --disable-extensions --verbose
Common flags include:
--user-data-dir: Specify custom user data location--disable-extensions: Start without extensions--verbose: Enable verbose logging--enable-proposed-api: Enable experimental features
Configuration Sync
Sync your settings across devices:
- Open Command Palette
- Type "Settings Sync: Turn On"
- Sign in with your Levitate account
- Choose what to sync (settings, keybindings, extensions, etc.)
Your configuration will be automatically synced to all your devices.