Configuration

Learn how to configure Roflow to match your development workflow and preferences.

Accessing Settings

You can access Roflow settings in several ways:

  • Menu: File > Preferences > Settings (or Code > Preferences > Settings on macOS)
  • Keyboard: Press Cmd+, (macOS) or Ctrl+, (Windows/Linux)
  • Command Palette: Press Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux) and type "Settings"

AI Configuration

API Keys

Configure your AI provider API keys for chat and completions:

  1. Open Settings
  2. Search for "Roflow: AI"
  3. Choose your provider:

AI Model Selection

Choose which models to use for different tasks:

{
  "roflow.ai.chatModel": "gpt-4o-mini",
  "roflow.ai.completionModel": "claude-3-haiku",
  "roflow.ai.provider": "openai"
}

Recommended Models:

  • Chat: gpt-4o-mini or claude-3-haiku (fast, cost-effective)
  • Completions: claude-3-haiku or gpt-3.5-turbo (low latency)

Context Settings

Control how much context is sent to the AI:

{
  "roflow.ai.contextLines": 50,
  "roflow.ai.includeOpenFiles": true,
  "roflow.ai.includeGitDiff": true
}

Luau LSP Configuration

Enable Luau LSP

{
  "roflow.luau.enabled": true,
  "roflow.luau.diagnostics": true,
  "roflow.luau.autoComplete": true
}

Type Checking

{
  "roflow.luau.typecheck.mode": "strict",
  "roflow.luau.typecheck.requireTypes": true
}

Type Check Modes:

  • nonstrict - Basic type checking
  • strict - Enforces type annotations
  • nocheck - Disables type checking

Rojo Integration

Auto-Sync

Enable automatic project syncing with Roblox Studio:

{
  "roflow.rojo.autoSync": true,
  "roflow.rojo.syncOnSave": true,
  "roflow.rojo.port": 34872
}

Project Path

Set the path to your default.project.json:

{
  "roflow.rojo.projectFile": "./default.project.json"
}

Wally Configuration

Package Management

{
  "roflow.wally.autoInstall": true,
  "roflow.wally.checkUpdates": true
}

Selene Linting

Enable Linter

{
  "roflow.selene.enabled": true,
  "roflow.selene.lintOnSave": true,
  "roflow.selene.config": "./.selene.toml"
}

Custom Rules

Create a .selene.toml in your project root:

std = "roblox"

[rules]
unused_variable = "warn"
undefined_variable = "error"
shadowing = "warn"

Editor Settings

Font and Appearance

{
  "editor.fontFamily": "JetBrains Mono, Fira Code, Consolas, monospace",
  "editor.fontSize": 14,
  "editor.lineHeight": 1.6,
  "editor.fontLigatures": true
}

Inline Completions

{
  "roflow.completions.enabled": true,
  "roflow.completions.delay": 300,
  "roflow.completions.maxSuggestions": 5
}

Studio Integration

Plugin Configuration

{
  "roflow.studio.pluginEnabled": true,
  "roflow.studio.autoConnect": true,
  "roflow.studio.reconnectAttempts": 5
}

WebSocket Connection

{
  "roflow.studio.websocketPort": 8080,
  "roflow.studio.connectionTimeout": 10000
}

Telemetry and Privacy

Disable Telemetry

Telemetry is off by default in Roflow:

{
  "roflow.telemetry.enabled": false
}

AI Request Logging

Disable logging of AI requests:

{
  "roflow.ai.logRequests": false
}

Keybindings

Default Shortcuts

View all keyboard shortcuts: Cmd+K Cmd+S (macOS) or Ctrl+K Ctrl+S (Windows/Linux)

Most Used:

  • AI Chat: Cmd+Shift+A / Ctrl+Shift+A
  • Accept Completion: Tab
  • Reject Completion: Esc
  • Command Palette: Cmd+Shift+P / Ctrl+Shift+P

Custom Keybindings

Edit keybindings.json to customize shortcuts:

[
  {
    "key": "cmd+k",
    "command": "roflow.ai.chat.open"
  },
  {
    "key": "cmd+;",
    "command": "roflow.ai.completions.toggle"
  }
]

Workspace Settings

Project-Specific Configuration

Create a .vscode/settings.json in your project:

{
  "roflow.rojo.projectFile": "./game.project.json",
  "roflow.wally.manifestPath": "./wally.toml",
  "roflow.luau.typecheck.mode": "strict"
}

Backup and Sync

Settings Sync

Enable settings sync across devices:

  1. Click the account icon in the bottom left
  2. Select "Turn on Settings Sync"
  3. Sign in with your account
  4. Choose what to sync (settings, keybindings, extensions)

For New Users

{
  "roflow.ai.provider": "openai",
  "roflow.ai.chatModel": "gpt-4o-mini",
  "roflow.completions.enabled": true,
  "roflow.rojo.autoSync": true,
  "roflow.luau.enabled": true,
  "editor.fontFamily": "JetBrains Mono",
  "editor.fontSize": 14
}

For Advanced Users

{
  "roflow.ai.provider": "anthropic",
  "roflow.ai.chatModel": "claude-3-haiku",
  "roflow.ai.contextLines": 100,
  "roflow.luau.typecheck.mode": "strict",
  "roflow.selene.enabled": true,
  "roflow.completions.delay": 100,
  "editor.inlineSuggest.enabled": true
}

Reset Settings

Reset All Settings

To reset Roflow to default settings:

  1. Open Command Palette (Cmd+Shift+P / Ctrl+Shift+P)
  2. Type "Reset Settings"
  3. Select "Developer: Reset All Settings"
  4. Restart Roflow

Next Steps