Settings Overview
Relevant source files
The following files were used as context for generating this wiki page:The Acode settings system provides a centralized interface for users to customize the application's behavior, appearance, and core editing functionality. It allows for granular control over the code editor, terminal environment, and file management protocols to fit various development workflows.
Users access the settings interface through three primary entry points: the main application menu, the Command Palette (searching for "Show Settings"), or the Ctrl + , keyboard shortcut. Sources: user-guide/settings.md:16-25
Navigation Architecture
The settings system is organized into specialized categories, each focusing on a distinct subsystem of the application.
The diagram above shows the hierarchy of the settings menu and its sub-pages. Sources: user-guide/settings.md:29-40
App Settings
App Settings manage high-level application behavior, file system interactions, and input methods.
QuickTools and Interface
QuickTools serves as a mobile-optimized toolbar. You configure its visibility, trigger modes (Touch vs. Click), and button ordering through the App Settings. The workspace appearance, including font management, icon packs, and fullscreen toggles, is also defined here. Sources: user-guide/settings/app-settings.md:5-30
Files and Folders
This section controls how Acode handles project state and external changes:
- Active Files: Sets location to Tab area, Sidebar, or Bottom.
- Persistence: "Remember Files" and "Remember Folders" reopen sessions on launch.
- External Watcher: "Check File Changes" monitors external modifications.
- Exclusion: Glob patterns (e.g.,
**/node_modules/**) prevent indexing of specific directories.
Sources: user-guide/settings/app-settings.md:14-20
Advanced Configuration
Advanced tools allow for technical debugging and environment setup:
- Console Selection: Choose between Legacy or Eruda consoles.
- Environment: Set default character encoding and clear plugin installation states.
- Exit Strategy: Toggle confirmation prompts before app closure.
Sources: user-guide/settings/app-settings.md:46-51
Editor Settings
Editor settings directly configure the underlying CodeMirror instance. These options prioritize syntax visibility and coding efficiency.
| Setting | Description | Default |
|---|---|---|
| Autosave | Delay in ms before saving (0 to disable) | 0 |
| Tab Size | Number of spaces per indent | 2 |
| Soft Tab | Use spaces instead of actual tab characters | On |
| Lint Gutter | Displays LSP-driven diagnostic markers | On |
| Rainbow Brackets | Colors nested brackets for readability | On |
| Text Wrap | Wraps long lines to fit viewport | On |
Sources: user-guide/settings/editor-settings.md:5-26
The Scroll Settings sub-page permits adjusting the scrollbar size between 5px and 20px to accommodate different touch precision requirements. Sources: user-guide/settings/editor-settings.md:30-33
Terminal Settings
The terminal environment requires specific permissions and behavioral configuration to operate as a full Linux environment.
This diagram illustrates the logical grouping of terminal-specific configurations. Sources: user-guide/settings/terminal-settings.md:5-45
Terminal management includes critical lifecycle actions:
- Backup: Creates a copy of the terminal installation and configurations.
- Restore: Reverts the terminal to a previously saved state.
- Uninstall: Removes the Alpine Linux environment entirely.
Sources: user-guide/settings/terminal-settings.md:40-45
Preview and Theming
Web Preview
The preview system facilitates web development by hosting a local server. A key behavior occurs when the Preview Port differs from the Server Port: Acode stops its internal server and attempts to connect to an external one (e.g., Vite or React dev servers running in the terminal). Sources: user-guide/settings/preview-settings.md:5-20
Themes
Themes are bifurcated into two scopes:
- App Themes: Impact the styling of UI components like sidebars, tabs, and dialogs.
- Editor Themes: Impact syntax highlighting within the code viewport.
Both can be extended via the Plugin Registry. Sources: user-guide/settings/themes.md:5-18
Formatting
Acode handles code formatting on a per-language basis. You select a default formatter (either built-in or plugin-based like Prettier) for each supported language. "Format on Save" can be globally enabled in Editor Settings to trigger these chosen formatters automatically. Sources: user-guide/settings/formatter.md:5-15, user-guide/settings/editor-settings.md:15
Summary
The settings system in Acode acts as the primary configuration layer, bridging the gap between mobile-specific constraints (QuickTools, Touch Move Threshold) and professional development requirements (LSP Linting, Terminal PRoot, and SFTP persistence). Changes can be made via the graphical UI or by direct manipulation of the settings.json file. Sources: user-guide/settings.md:39, user-guide/settings/app-settings.md:40