SAT-WiSe-25-26/.zed
2025-10-30 20:58:27 +01:00
..
README.md feat: Editor configs 2025-10-30 20:54:29 +01:00
settings.json fix: Broken ZED autocompile 2025-10-30 20:58:27 +01:00
tasks.json feat: Editor configs 2025-10-30 20:54:29 +01:00

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

{
  "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:

# macOS
brew install texlab

# Linux (via cargo)
cargo install texlab

# Or download from GitHub releases

Customization

If you want to enable auto-save (will NOT trigger builds):

{
  "autosave": {
    "after_delay": 1000
  }
}

Change PDF Viewer

To use a different PDF viewer:

{
  "preview": {
    "pdf_viewer": {
      "open_command": "your-pdf-viewer"
    }
  }
}

If you really want to build on every save:

{
  "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.