feat: Editor configs
This commit is contained in:
parent
9db24ee9b6
commit
5fc289c096
2
.gitignore
vendored
2
.gitignore
vendored
@ -52,5 +52,3 @@ venv/
|
|||||||
|
|
||||||
Build/
|
Build/
|
||||||
Output/
|
Output/
|
||||||
|
|
||||||
.vscode/
|
|
||||||
|
|||||||
103
.vscode/README.md
vendored
Normal file
103
.vscode/README.md
vendored
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
# VSCode Configuration for LaTeX Project
|
||||||
|
|
||||||
|
This directory contains Visual Studio Code workspace settings optimized for LaTeX development with this project.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
### LaTeX Workshop Integration
|
||||||
|
- Configured to use `make` command for building
|
||||||
|
- Multiple build recipes available:
|
||||||
|
- `make` - Standard build using Docker
|
||||||
|
- `make clean` - Clean auxiliary files
|
||||||
|
- `make full` - Clean and full rebuild
|
||||||
|
|
||||||
|
### Key Settings
|
||||||
|
- **Auto-build disabled** - Build manually with `Ctrl+Shift+B` (Windows/Linux) or `Cmd+Shift+B` (Mac)
|
||||||
|
- **PDF viewer** - Opens in a new tab within VSCode
|
||||||
|
- **Output directory** - Configured to use `Output/` folder
|
||||||
|
- **Auto-clean** - Cleans auxiliary files after successful build
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Building the Document
|
||||||
|
1. **Quick Build**: Press `Ctrl+Shift+B` / `Cmd+Shift+B`
|
||||||
|
2. **Build Menu**: Press `Ctrl+Alt+B` / `Cmd+Alt+B` to see all build options
|
||||||
|
3. **Command Palette**: Press `F1` and type "LaTeX Workshop: Build"
|
||||||
|
|
||||||
|
### Viewing the PDF
|
||||||
|
- After building, the PDF will automatically open in a new tab
|
||||||
|
- Use `Ctrl+Alt+V` / `Cmd+Alt+V` to manually open the PDF
|
||||||
|
|
||||||
|
### Tasks
|
||||||
|
Additional tasks are available through the Command Palette (`F1`):
|
||||||
|
- `Tasks: Run Task` shows all available make commands:
|
||||||
|
- Build LaTeX Document
|
||||||
|
- Clean Build Files
|
||||||
|
- Full Build
|
||||||
|
- View PDF
|
||||||
|
- Docker Build/Clean
|
||||||
|
- List Chapters
|
||||||
|
- Word Count
|
||||||
|
- Check Prerequisites
|
||||||
|
|
||||||
|
## Recommended Extensions
|
||||||
|
|
||||||
|
The following extensions are recommended for the best experience:
|
||||||
|
- **LaTeX Workshop** - Main LaTeX support (required)
|
||||||
|
- **Code Spell Checker** + German dictionary - Spell checking
|
||||||
|
- **PDF Viewer** - Enhanced PDF viewing
|
||||||
|
- **GitLens** - Git integration
|
||||||
|
- **Docker** - Docker support for containerized builds
|
||||||
|
|
||||||
|
Install all recommended extensions:
|
||||||
|
1. Open Extensions sidebar (`Ctrl+Shift+X` / `Cmd+Shift+X`)
|
||||||
|
2. Filter by `@recommended`
|
||||||
|
3. Click "Install Workspace Recommended Extensions"
|
||||||
|
|
||||||
|
## Customization
|
||||||
|
|
||||||
|
To override any settings for your personal preferences, create a `.vscode/settings.local.json` file (git-ignored) or modify your user settings.
|
||||||
|
|
||||||
|
### Enable Auto-Build on Save
|
||||||
|
If you want to enable automatic building when saving `.tex` files, add this to your user settings:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"latex-workshop.latex.autoBuild.run": "onSave"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Change PDF Viewer
|
||||||
|
To use an external PDF viewer instead of the built-in one:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"latex-workshop.view.pdf.viewer": "external",
|
||||||
|
"latex-workshop.view.pdf.external.viewer.command": "your-pdf-viewer",
|
||||||
|
"latex-workshop.view.pdf.external.viewer.args": ["%PDF%"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Build Fails
|
||||||
|
1. Ensure Docker is running: `make docker-info`
|
||||||
|
2. Check prerequisites: `make check`
|
||||||
|
3. Try a clean build: `make full`
|
||||||
|
|
||||||
|
### PDF Doesn't Open
|
||||||
|
- Check if the PDF was created in `Output/Main.pdf`
|
||||||
|
- Try manually opening: `make view`
|
||||||
|
|
||||||
|
### Extensions Not Working
|
||||||
|
1. Ensure LaTeX Workshop extension is installed and enabled
|
||||||
|
2. Reload VSCode window: `F1` → "Developer: Reload Window"
|
||||||
|
3. Check extension output: View → Output → Select "LaTeX Workshop"
|
||||||
|
|
||||||
|
## File Exclusions
|
||||||
|
|
||||||
|
The configuration hides common LaTeX auxiliary files from the file explorer:
|
||||||
|
- `*.aux`, `*.log`, `*.synctex.gz`
|
||||||
|
- `*.fdb_latexmk`, `*.fls`
|
||||||
|
- `*.out`, `*.toc`, `*.bbl`, `*.blg`
|
||||||
|
- Build directory contents (can be shown if needed)
|
||||||
|
|
||||||
|
To show hidden files temporarily, use the file explorer's filter settings.
|
||||||
26
.vscode/extensions.json
vendored
Normal file
26
.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
// Recommended extensions for LaTeX development
|
||||||
|
"recommendations": [
|
||||||
|
// LaTeX Workshop - Main LaTeX extension
|
||||||
|
"james-yu.latex-workshop",
|
||||||
|
|
||||||
|
// PDF viewer
|
||||||
|
"tomoki1207.pdf",
|
||||||
|
|
||||||
|
// Spell checking
|
||||||
|
"streetsidesoftware.code-spell-checker",
|
||||||
|
"streetsidesoftware.code-spell-checker-german",
|
||||||
|
|
||||||
|
// File icons
|
||||||
|
"vscode-icons-team.vscode-icons",
|
||||||
|
|
||||||
|
// Docker support (for building with Docker)
|
||||||
|
"ms-azuretools.vscode-docker",
|
||||||
|
|
||||||
|
// Path intellisense
|
||||||
|
"christian-kohler.path-intellisense",
|
||||||
|
|
||||||
|
// TODO highlighting
|
||||||
|
"gruntfuggly.todo-tree"
|
||||||
|
]
|
||||||
|
}
|
||||||
114
.vscode/settings.json
vendored
Normal file
114
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
{
|
||||||
|
// LaTeX Workshop Configuration
|
||||||
|
"latex-workshop.latex.recipes": [
|
||||||
|
{
|
||||||
|
"name": "make",
|
||||||
|
"tools": ["make"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "make clean",
|
||||||
|
"tools": ["make-clean"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "make full",
|
||||||
|
"tools": ["make-full"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
"latex-workshop.latex.tools": [
|
||||||
|
{
|
||||||
|
"name": "make",
|
||||||
|
"command": "make",
|
||||||
|
"args": [],
|
||||||
|
"env": {},
|
||||||
|
"cwd": "${workspaceFolder}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "make-clean",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["clean"],
|
||||||
|
"env": {},
|
||||||
|
"cwd": "${workspaceFolder}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "make-full",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["full"],
|
||||||
|
"env": {},
|
||||||
|
"cwd": "${workspaceFolder}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
// Set default recipe
|
||||||
|
"latex-workshop.latex.recipe.default": "first",
|
||||||
|
|
||||||
|
// Use external build command
|
||||||
|
"latex-workshop.latex.external.build.command": "make",
|
||||||
|
"latex-workshop.latex.external.build.args": [],
|
||||||
|
|
||||||
|
// Disable auto-build on save (optional, remove if you want auto-build)
|
||||||
|
"latex-workshop.latex.autoBuild.run": "never",
|
||||||
|
|
||||||
|
// Clean auxiliary files
|
||||||
|
"latex-workshop.latex.autoClean.run": "onBuilt",
|
||||||
|
|
||||||
|
// PDF viewer settings
|
||||||
|
"latex-workshop.view.pdf.viewer": "tab",
|
||||||
|
"latex-workshop.view.pdf.zoom": "auto",
|
||||||
|
|
||||||
|
// Output directory
|
||||||
|
"latex-workshop.latex.outDir": "./Output",
|
||||||
|
|
||||||
|
// Root file
|
||||||
|
"latex-workshop.latex.rootFile.usePolling": true,
|
||||||
|
"latex-workshop.latex.rootFile.indicator": "\\documentclass",
|
||||||
|
|
||||||
|
// Disable other build methods to avoid confusion
|
||||||
|
"latex-workshop.latex.magic.enabled": false,
|
||||||
|
"latex-workshop.latex.build.forceRecipeUsage": true,
|
||||||
|
|
||||||
|
// File associations
|
||||||
|
"files.associations": {
|
||||||
|
"*.tex": "latex",
|
||||||
|
"*.cls": "latex",
|
||||||
|
"*.sty": "latex",
|
||||||
|
"*.bib": "bibtex"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Editor settings for LaTeX files
|
||||||
|
"[latex]": {
|
||||||
|
"editor.wordWrap": "on",
|
||||||
|
"editor.rulers": [80, 100],
|
||||||
|
"editor.formatOnSave": false,
|
||||||
|
"editor.suggestSelection": "first"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Spell check settings (optional)
|
||||||
|
"cSpell.language": "de,en",
|
||||||
|
"cSpell.enableFiletypes": ["latex", "bibtex"],
|
||||||
|
|
||||||
|
// Hide auxiliary files from explorer (optional)
|
||||||
|
"files.exclude": {
|
||||||
|
"**/*.aux": true,
|
||||||
|
"**/*.log": true,
|
||||||
|
"**/*.synctex.gz": true,
|
||||||
|
"**/*.fdb_latexmk": true,
|
||||||
|
"**/*.fls": true,
|
||||||
|
"**/*.out": true,
|
||||||
|
"**/*.toc": true,
|
||||||
|
"**/*.bbl": true,
|
||||||
|
"**/*.blg": true,
|
||||||
|
"**/*.lof": true,
|
||||||
|
"**/*.lot": true,
|
||||||
|
"**/*.nav": true,
|
||||||
|
"**/*.snm": true,
|
||||||
|
"**/*.vrb": true,
|
||||||
|
"Build/**": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Search exclude patterns
|
||||||
|
"search.exclude": {
|
||||||
|
"Build/**": true,
|
||||||
|
"Output/**": false
|
||||||
|
}
|
||||||
|
}
|
||||||
169
.vscode/tasks.json
vendored
Normal file
169
.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
{
|
||||||
|
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
||||||
|
// for the documentation about the tasks.json format
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "Build LaTeX Document",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make",
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
},
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": false
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Clean Build Files",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["clean"],
|
||||||
|
"group": "build",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": false
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Full Build (Clean + Build)",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["full"],
|
||||||
|
"group": "build",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": false
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "View PDF",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["view"],
|
||||||
|
"group": "none",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": false
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker Build",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["docker-build"],
|
||||||
|
"group": "build",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": false
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker Clean",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["docker-clean"],
|
||||||
|
"group": "build",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": false
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "List Chapters",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["chapters"],
|
||||||
|
"group": "none",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": false
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Word Count",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["count"],
|
||||||
|
"group": "none",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": false
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Check Prerequisites",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["check"],
|
||||||
|
"group": "none",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": false
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker Info",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["docker-info"],
|
||||||
|
"group": "none",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": false
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
169
.zed/README.md
Normal file
169
.zed/README.md
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
# 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.
|
||||||
80
.zed/settings.json
Normal file
80
.zed/settings.json
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"languages": {
|
||||||
|
"LaTeX": {
|
||||||
|
"tab_size": 2,
|
||||||
|
"hard_tabs": false,
|
||||||
|
"soft_wrap": "editor_width",
|
||||||
|
"show_whitespaces": "selection",
|
||||||
|
"use_autoclose": true,
|
||||||
|
"enable_language_server": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"file_scan_exclusions": [
|
||||||
|
"Build/",
|
||||||
|
"*.aux",
|
||||||
|
"*.log",
|
||||||
|
"*.out",
|
||||||
|
"*.toc",
|
||||||
|
"*.lof",
|
||||||
|
"*.lot",
|
||||||
|
"*.lol",
|
||||||
|
"*.bbl",
|
||||||
|
"*.blg",
|
||||||
|
"*.synctex.gz",
|
||||||
|
"*.fdb_latexmk",
|
||||||
|
"*.fls",
|
||||||
|
"*.idx",
|
||||||
|
"*.ind",
|
||||||
|
"*.ilg",
|
||||||
|
"*.glo",
|
||||||
|
"*.gls",
|
||||||
|
"*.glg",
|
||||||
|
"*.nav",
|
||||||
|
"*.snm",
|
||||||
|
"*.vrb",
|
||||||
|
"*.bcf",
|
||||||
|
"*.run.xml"
|
||||||
|
],
|
||||||
|
|
||||||
|
"show_line_numbers": true,
|
||||||
|
"relative_line_numbers": false,
|
||||||
|
"cursor_blink": true,
|
||||||
|
|
||||||
|
"git": {
|
||||||
|
"git_gutter": "tracked_files",
|
||||||
|
"inline_blame": {
|
||||||
|
"enabled": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"lsp": {
|
||||||
|
"texlab": {
|
||||||
|
"settings": {
|
||||||
|
"texlab": {
|
||||||
|
"build": {
|
||||||
|
"executable": "make",
|
||||||
|
"args": [],
|
||||||
|
"onSave": false,
|
||||||
|
"forwardSearchAfter": false
|
||||||
|
},
|
||||||
|
"chktex": {
|
||||||
|
"onEdit": false,
|
||||||
|
"onOpenAndSave": true
|
||||||
|
},
|
||||||
|
"latexFormatter": "latexindent",
|
||||||
|
"latexindent": {
|
||||||
|
"modifyLineBreaks": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"task_aliases": {
|
||||||
|
"build": "make",
|
||||||
|
"clean": "make clean",
|
||||||
|
"full": "make full",
|
||||||
|
"view": "make view"
|
||||||
|
}
|
||||||
|
}
|
||||||
170
.zed/tasks.json
Normal file
170
.zed/tasks.json
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"label": "Build LaTeX Document",
|
||||||
|
"command": "make",
|
||||||
|
"args": [],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Clean Build Files",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["clean"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Full Build (Clean + Build)",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["full"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "View PDF",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["view"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": true,
|
||||||
|
"reveal": "never"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker Build",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["docker-build"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker Build (Cached)",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["docker-build-cached"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker Clean",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["docker-clean"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker Shell",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["docker-shell"],
|
||||||
|
"use_new_terminal": true,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Docker Info",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["docker-info"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": true,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "List Chapters",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["chapters"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": true,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Word Count",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["count"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": true,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Check Prerequisites",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["check"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": true,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Project Structure",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["structure"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": true,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Help",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["help"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": true,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Watch (Continuous Build)",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["watch"],
|
||||||
|
"use_new_terminal": true,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Draft Build",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["draft"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Local Build (No Docker)",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["local"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Compile Only",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["compile"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Clean Output",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["clean-output"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Clean Auxiliary Files",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["clean-aux"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Distribution Clean",
|
||||||
|
"command": "make",
|
||||||
|
"args": ["distclean"],
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always"
|
||||||
|
}
|
||||||
|
]
|
||||||
Loading…
Reference in New Issue
Block a user