Settings & Preferences
ThinkCode offers extensive customization options through its settings system. This guide will help you understand how to configure ThinkCode to match your personal preferences and optimize your development workflow.
Settings Overview
ThinkCode settings are organized in a hierarchical structure that allows for:
- Global settings: Applied across all workspaces
- Workspace settings: Specific to the current project
- Folder settings: Applied to specific folders
- Language-specific settings: Applied only to certain file types
Settings can be managed through both a user-friendly UI and JSON configuration files.
Accessing Settings
There are several ways to access ThinkCode settings:
-
Settings UI:
- Click the gear icon in the lower left corner
- Use the keyboard shortcut:
Ctrl+,
(Windows/Linux) orCmd+,
(macOS) - From the Command Palette:
Ctrl+Shift+P
then search for "Preferences: Open Settings"
-
JSON Settings:
- From the Command Palette: Search for "Preferences: Open Settings (JSON)"
- Directly edit the settings files in your user directory
Settings UI
The Settings UI provides a user-friendly interface for adjusting ThinkCode's behavior:
Key features of the Settings UI:
- Search bar: Quickly find specific settings
- Categories: Browse settings by functional area
- Descriptions: Detailed explanations of each setting
- Default values: Reference for original values
- Modified indicator: Highlights customized settings
Settings Files
ThinkCode stores settings in JSON files:
- User Settings:
~/.thinkcode/settings.json
(global settings) - Workspace Settings:
.thinkcode/settings.json
in your project root (project-specific settings) - Folder Settings:
.thinkcode/settings.json
in specific subdirectories
Example settings.json file:
Settings Categories
ThinkCode settings are organized into the following main categories:
Editor
Configure the code editor appearance and behavior:
Files
Control how files are handled:
Workbench
Customize the ThinkCode UI:
AI Features
Configure ThinkCode's AI capabilities:
Terminal
Configure the integrated terminal:
Language-Specific Settings
Apply settings only to specific languages using the [language]
syntax:
Settings Profiles
ThinkCode supports settings profiles for different development contexts:
-
Creating a Profile:
- Command Palette → "Preferences: Create Settings Profile"
- Name your profile (e.g., "Frontend Development", "Python Projects")
-
Switching Profiles:
- Click the profile name in the status bar
- Command Palette → "Preferences: Select Settings Profile"
-
Exporting/Importing Profiles:
- Profiles can be exported as
.thinkcode-profile
files - Share profiles with teammates for consistent environments
- Profiles can be exported as
Settings Sync
Keep your settings consistent across devices:
-
Enable Settings Sync:
- Command Palette → "Settings Sync: Turn On"
- Select which settings to sync (themes, snippets, keybindings, etc.)
-
Configure Sync Options:
- Automatic sync (real-time updates)
- Manual sync (on-demand updates)
- Conflict resolution preferences
-
Sync Status:
- View sync status in the lower left corner
- Resolve conflicts through the UI
Best Practices
- Use Workspace Settings for project-specific configurations to ensure consistency across team members
- Comment Your Settings using JSON comments (
// comment
) to document custom configurations - Organize Settings logically by grouping related configurations
- Version Control your workspace settings to share with teammates
- Regularly Review settings to remove outdated configurations
- Use Profiles for different development scenarios
Troubleshooting Settings
If you encounter issues with settings:
- Reset to Defaults: Command Palette → "Preferences: Reset Settings to Default Values"
- Check for Conflicts: Look for conflicting settings between user and workspace levels
- Validate JSON: Ensure proper JSON syntax in settings files
- Reload Window: Command Palette → "Developer: Reload Window" to apply changed settings
- Check Extensions: Some extensions may override or conflict with certain settings
Advanced: Settings Automation
ThinkCode supports programmatic settings management:
For more details on available settings, refer to the ThinkCode API documentation or use the integrated settings search feature.