Overview
Tesslate Studio uses the Monaco Editor (version 4.7.0), the same editor engine that powers Visual Studio Code. This gives you a professional coding experience directly in the browser, with full support for TypeScript, syntax highlighting, IntelliSense, and real-time error detection.Syntax Highlighting
Full support for TypeScript, JavaScript, JSX, TSX, CSS, HTML, JSON, Python, Go, and more
IntelliSense
Auto-completion, type information, parameter hints, and import suggestions
Error Detection
Real-time TypeScript and syntax error checking as you type
Multi-File Editing
Open multiple files in tabs and switch between them instantly
Editor Layout
The code editor sits within the project builder workspace. You can switch between multiple view modes:- Code View
- Preview View
- Split View
The editor takes the primary panel. The file tree appears on the left side, and you can resize the editor to be as wide as you need.
Opening Files
- File Tree
- Quick Open
- AI-Generated Files
Click any file in the file tree sidebar to open it in the editor. Files open as tabs at the top of the editor panel.
Container-Scoped Files
In multi-container projects, files are scoped to the active container. The file tree shows only the files belonging to the currently selected container. Switch containers using the container selector in the builder toolbar.Editing Files
Save
Files save when you press
Ctrl/Cmd + S. The save operation calls projectsApi.saveFile(slug, filePath, content) to persist the file to the container filesystem.Keyboard Shortcuts
File Operations
File Operations
| Shortcut | Action |
|---|---|
Ctrl/Cmd + S | Save current file |
Ctrl/Cmd + P | Quick file open |
Ctrl/Cmd + W | Close current tab |
Ctrl/Cmd + Shift + F | Search across all files |
Editing
Editing
| Shortcut | Action |
|---|---|
Ctrl/Cmd + Z | Undo |
Ctrl/Cmd + Shift + Z | Redo |
Ctrl/Cmd + F | Find in file |
Ctrl/Cmd + H | Find and replace |
Ctrl/Cmd + D | Select next occurrence |
Alt + Up/Down | Move line up/down |
Alt + Shift + Up/Down | Copy line up/down |
Code Manipulation
Code Manipulation
| Shortcut | Action |
|---|---|
Ctrl/Cmd + / | Toggle line comment |
Ctrl/Cmd + ] | Indent line |
Ctrl/Cmd + [ | Outdent line |
Alt + Shift + F | Format document |
F2 | Rename symbol |
Ctrl/Cmd + . | Quick fix suggestions |
Navigation
Navigation
Tesslate Studio has over 50 keyboard shortcuts registered through a centralized keyboard registry. Press
? at any time to open the keyboard shortcuts modal for the full list, or press Cmd/Ctrl + K to open the command palette.IntelliSense Features
Auto-Completion
As you type, Monaco provides contextual suggestions:- Variable and function names from the current scope
- Import suggestions for modules and packages
- Property access on objects and components
- CSS class names and property values
Tab or Enter to accept a suggestion. Use the arrow keys to navigate the suggestion list.
Type Information
Hover over any symbol to see its type definition and documentation:- Function signatures with parameter types
- Variable types and values
- Component prop interfaces
- Module exports
Parameter Hints
When you type a function call, Monaco shows the expected parameters:- Parameter names and types
- Optional vs. required parameters
- Default values where applicable
Import Suggestions
Monaco can automatically add missing import statements:- Type a component or function name that is not imported
- Accept the auto-import suggestion
- The import statement is added at the top of the file
Error Detection
The editor provides real-time error feedback:| Indicator | Meaning |
|---|---|
| Red squiggly underline | Syntax error or type error |
| Yellow squiggly underline | Warning (unused variable, implicit any, etc.) |
| Lightbulb icon | Quick fix available (click or press Ctrl/Cmd + .) |
TypeScript errors appear in real time as you type. This helps catch issues before they reach the dev server or the live preview.
File Tree
Navigation
The file tree shows your project’s directory structure:- Expand/Collapse: Click the arrow icons to navigate folders
- Select a file: Click to open in the editor
- Context menu: Right-click for options (create, rename, delete)
- Search/Filter: Filter the tree by typing a filename
File Operations
- Create Files
- Rename Files
- Delete Files
Right-click a folder in the file tree and select New File or New Folder. AI agents also create files automatically when generating code.
Excluded Directories
The file tree hides certain directories by default to reduce clutter:node_modules/(dependency tree).git/(version control internals)dist/andbuild/(build output)
Working with Multiple Files
Tab Management
Open files appear as tabs at the top of the editor:- Open: Click a file in the tree to add a tab
- Switch: Click a tab or use
Ctrl/Cmd + Tab - Close: Click the X on a tab or press
Ctrl/Cmd + W - Close Others: Right-click a tab and select Close Others
- Close All: Right-click and select Close All
File Events
When a file changes (from the editor, AI agent, or external process), Tesslate’s file event system (fileEvents) broadcasts the update. This keeps the file tree, open tabs, and live preview in sync.
AI-Generated Code
When an AI agent creates or modifies files through the chat interface:Agent Writes Code
The agent uses the
write_file or edit_file tool to create or modify files in your project.File Opens Automatically
The editor navigates to the affected file and opens it in a new tab (or switches to an existing tab).
Changes Highlighted
Newly generated or modified lines are briefly highlighted so you can see exactly what changed.
Editor Configuration
Customize your editing experience through the editor settings:Font and Display
Font and Display
- Font size (adjustable range)
- Font family (monospace fonts like Fira Code, Consolas, JetBrains Mono)
- Line height
- Minimap toggle (the code overview on the right edge)
Theme
Theme
The editor follows Tesslate’s global theme (dark or light mode). Toggle between themes using your user preferences or the theme switcher.
Behavior
Behavior
- Tab size (2 or 4 spaces)
- Word wrap on/off
- Bracket matching
- Auto-closing brackets and quotes
Troubleshooting
Editor Not Responding
Editor Not Responding
Cause: Browser memory pressure or a heavy file loaded in the editor.What to try:
- Close unused tabs to free memory
- Refresh the browser page
- Check the browser console for JavaScript errors
- Disable browser extensions that might interfere
File Not Saving
File Not Saving
Cause: Network issue or container not running.What to try:
- Check your internet connection
- Verify the container status (should be “running”)
- Try pressing
Ctrl/Cmd + Sto trigger a manual save - Check the browser console for API errors
IntelliSense Not Working
IntelliSense Not Working
Cause: TypeScript language service has not initialized yet, or the file type is not recognized.What to try:
- Wait a few seconds after opening the project (the TypeScript service needs time to index)
- Verify the file has a
.tsor.tsxextension - Check that
package.jsonandtsconfig.jsonare valid - Restart the dev server from project settings
Best Practices
Review AI Changes
Always read through generated code. Understand what was created, test the functionality, and refine as needed.
Keep Files Focused
One component per file. Use logical folder structures. Keep files at a manageable size for both you and the AI agents.
Use TypeScript
TypeScript catches errors at edit time, improves IntelliSense accuracy, and makes refactoring safer. The editor’s strongest features rely on type information.
Learn the Shortcuts
Invest time in learning keyboard shortcuts. They dramatically speed up navigation and editing. Press
? to see all available shortcuts.Next Steps
Live Preview
See your changes in real time as you edit
Chat Interface
Use AI agents to generate and modify code
Git Integration
Commit and push your changes to a remote repository
Understanding Projects
Learn about project structure and multi-container support