SAT-WiSe-25-26/.zed/README.md

169 lines
4.4 KiB
Markdown

# Zed Configuration for LaTeX Project
This directory contains Zed editor workspace settings optimized for LaTeX development with this project.
## Features
### Build System Integration
- Configured to use `make` command for all builds
- **Auto-compile on save is DISABLED** as requested
- Manual build triggers only
### Key Settings
- **Format on save** - Disabled for LaTeX files
- **Auto-save** - Disabled to prevent unwanted builds
- **Build command** - Uses `make` via Docker
- **PDF viewer** - Uses system default (xdg-open on Linux)
- **Word wrap** - Enabled for better readability
## Usage
### Building the Document
1. **Default Build**: Press `Cmd+B` (Mac) / `Ctrl+B` (Linux)
2. **Full Build**: Press `Cmd+Shift+B` (Mac) / `Ctrl+Shift+B` (Linux)
3. **Command Palette**: Press `Cmd+Shift+P` and select a task
### Available Tasks
- **Build LaTeX Document** - Standard build using Docker
- **Clean Build Files** - Remove auxiliary files
- **Full Build** - Clean and rebuild from scratch
- **View PDF** - Open the generated PDF
- **Docker Build** - Explicit Docker build
- **Docker Clean** - Clean Docker containers
- **Word Count** - Show document statistics
- **List Chapters** - Show all chapters
- **Check Prerequisites** - Verify system requirements
### Keyboard Shortcuts
| Action | Mac | Linux/Windows |
|--------|-----|---------------|
| Build | `Cmd+B` | `Ctrl+B` |
| Full Build | `Cmd+Shift+B` | `Ctrl+Shift+B` |
| Clean | `Cmd+K Cmd+C` | `Ctrl+K Ctrl+C` |
| View PDF | `Cmd+K Cmd+V` | `Ctrl+K Ctrl+V` |
## Configuration Details
### LaTeX Language Settings
```json
{
"LaTeX": {
"format_on_save": false, // No auto-formatting
"autosave": false, // No auto-save
"tab_size": 2, // 2-space indentation
"soft_wrap": "editor_width", // Wrap at editor width
"enable_language_server": true // Enable LSP support
}
}
```
### Build Configuration
The project is configured to use `make` for all build operations:
- Build command: `make`
- Working directory: Project root
- Output directory: `Output/`
### File Exclusions
The following files are hidden from the file tree:
- Build artifacts (`*.aux`, `*.log`, `*.synctex.gz`)
- Bibliography files (`*.bbl`, `*.blg`)
- Table of contents (`*.toc`, `*.lof`, `*.lot`)
- Build directory contents
## LSP Configuration (texlab)
If you have `texlab` language server installed, it's configured with:
- Build on save: **DISABLED**
- Forward search: Disabled
- ChkTeX: Enabled on open and save
- Formatter: latexindent
To install texlab:
```bash
# macOS
brew install texlab
# Linux (via cargo)
cargo install texlab
# Or download from GitHub releases
```
## Customization
### Enable Auto-Save (Not Recommended)
If you want to enable auto-save (will NOT trigger builds):
```json
{
"autosave": {
"after_delay": 1000
}
}
```
### Change PDF Viewer
To use a different PDF viewer:
```json
{
"preview": {
"pdf_viewer": {
"open_command": "your-pdf-viewer"
}
}
}
```
### Enable Build on Save (Not Recommended)
If you really want to build on every save:
```json
{
"lsp": {
"texlab": {
"initialization_options": {
"build": {
"onSave": true
}
}
}
}
}
```
## Troubleshooting
### Build Doesn't Start
1. Ensure Docker is running
2. Check that `make` command works in terminal
3. Try running `make docker-info` in terminal
### Tasks Not Available
1. Ensure you're in the project root
2. Reload Zed: `Cmd+Q` and restart
3. Check tasks.json is properly loaded
### PDF Doesn't Open
1. Check if PDF exists in `Output/Main.pdf`
2. Verify system PDF viewer is configured
3. Try manually: `make view` in terminal
### Language Server Issues
1. Install texlab if not already installed
2. Check Zed's language server logs
3. Disable and re-enable language server in settings
## Important Notes
1. **Auto-compile is intentionally disabled** - You must manually trigger builds
2. **Format on save is disabled** - LaTeX formatting can break documents
3. **Use Docker builds** - Ensures consistent environment
4. **Check git status** - Some files are auto-generated and should not be committed
## File Structure
```
.zed/
├── settings.json # Zed workspace settings
├── tasks.json # Build task definitions
└── README.md # This file
```
These configuration files are workspace-specific and should be committed to the repository so all team members have the same settings.