From a439f856b8b532a03009fe82611876658c2ed878 Mon Sep 17 00:00:00 2001 From: morgankrey Date: Sat, 19 Sep 2026 19:58:09 +0000 Subject: [PATCH] Improve internal links across documentation (#64481) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Adds 63 internal links across 41 documentation pages. - Connects existing terms such as Agent Panel, semantic tokens, edit predictions, and language-specific debugging to their detailed reference pages. - Uses existing wording for 60 links and makes three small wording changes where a natural anchor did not already exist. ## Why this matters Readers can now move from overview and configuration pages to the relevant detailed guidance without searching the documentation manually. The changes add navigation only. They do not change product behavior or documented requirements. ## Jev experiment This PR came from a local experiment using Jev to audit internal links across the published documentation. The audit scripts are not included in this PR. - Code shortlisted 2,715 possible source and destination page pairs. - Jev made two separate decisions for each pair: whether the link would help the reader, and which exact existing phrase should become the anchor. - Five strong links without existing anchor text went to GPT-5.6 Luna for minimal rewrite options. Jev then selected among those fixed options. - A local review interface surfaced the results for Pass or Fail decisions before any files changed. Human review approved 66 changes. Two no longer matched the current `main` branch, and review removed one circular link, leaving the 63 links in this PR. ## Validation - `pnpm dlx prettier@3.5.0 --check` - `lychee --exclude '^http' './docs/src/**/*'` — 0 errors - `mdbook build docs` - Verified that the diff adds exactly 63 Markdown links Release Notes: - Improved links between related documentation pages. --- docs/src/account/billing.md | 2 +- docs/src/account/plans-and-pricing.md | 18 +++++++++--------- docs/src/ai/agent-panel.md | 2 +- docs/src/ai/agent-profiles.md | 6 +++--- docs/src/ai/agents.md | 10 +++++----- docs/src/ai/edit-prediction.md | 4 ++-- docs/src/ai/external-agents.md | 20 ++++++++++---------- docs/src/ai/inline-assistant.md | 2 +- docs/src/ai/instructions.md | 14 +++++++------- docs/src/ai/mcp.md | 2 +- docs/src/ai/overview.md | 14 +++++++------- docs/src/ai/parallel-agents.md | 10 +++++----- docs/src/ai/skills.md | 2 +- docs/src/ai/terminal-threads.md | 4 ++-- docs/src/ai/tool-permissions.md | 2 +- docs/src/ai/use-a-gateway.md | 14 +++++++------- docs/src/ai/use-a-local-model.md | 2 +- docs/src/ai/use-api-access.md | 8 ++++---- docs/src/business/organizations.md | 2 +- docs/src/configuring-languages.md | 4 ++-- docs/src/diagnostics.md | 2 +- docs/src/editing-code.md | 2 +- docs/src/extensions/languages.md | 4 ++-- docs/src/getting-started.md | 6 +++--- docs/src/key-bindings.md | 2 +- docs/src/languages.md | 2 +- docs/src/languages/cpp.md | 2 +- docs/src/languages/html.md | 2 +- docs/src/languages/javascript.md | 2 +- docs/src/languages/r.md | 2 +- docs/src/languages/typescript.md | 2 +- docs/src/migrate/intellij.md | 2 +- docs/src/migrate/pycharm.md | 2 +- docs/src/migrate/vs-code.md | 2 +- docs/src/project-panel.md | 5 +++-- docs/src/reference/all-settings.md | 4 ++-- docs/src/roles.md | 24 ++++++++++++------------ docs/src/troubleshooting.md | 2 +- docs/src/vim.md | 5 +++-- docs/src/visual-customization.md | 4 ++-- docs/src/windows-and-projects.md | 4 ++-- 41 files changed, 113 insertions(+), 111 deletions(-) diff --git a/docs/src/account/billing.md b/docs/src/account/billing.md index 88a32467fc..e5d70fa2a3 100644 --- a/docs/src/account/billing.md +++ b/docs/src/account/billing.md @@ -18,7 +18,7 @@ This page embeds data from Orb, our invoicing and metering partner. ### Billing cycles {#billing-cycles} -Zed is billed on a monthly basis based on the date you initially subscribe. You'll receive _at least_ one invoice from Zed each month you're subscribed to Zed Pro, and may receive more than one invoice if you use hosted models beyond your included monthly token credit. +Zed is billed on a monthly basis based on the date you initially subscribe. You'll receive _at least_ one invoice from Zed each month you're subscribed to Zed Pro, and may receive more than one invoice if you use [hosted models](./zed-hosted-models.md) beyond your included monthly token credit. ### Zed Pro threshold billing {#threshold-billing} diff --git a/docs/src/account/plans-and-pricing.md b/docs/src/account/plans-and-pricing.md index 9892d41bc1..5dc34e5c9d 100644 --- a/docs/src/account/plans-and-pricing.md +++ b/docs/src/account/plans-and-pricing.md @@ -11,15 +11,15 @@ Zed works without AI features or a subscription. No [authentication](../authenti ## Plans {#plans} -| | Free | Pro | Student | Business | -| ---------------------------------------------- | ------- | --------- | --------- | --------- | -| Zed-hosted AI models | — | ✓ | ✓ | ✓ | -| [AI via own API keys](../ai/use-api-access.md) | ✓ | ✓ | ✓ | ✓ | -| [External Agents](../ai/external-agents.md) | ✓ | ✓ | ✓ | ✓ | -| Edit Predictions | Limited | Unlimited | Unlimited | Unlimited | -| Org-wide admin controls | — | — | — | ✓ | -| Roles & permissions | — | — | — | ✓ | -| Consolidated billing | — | — | — | ✓ | +| | Free | Pro | Student | Business | +| -------------------------------------------------------- | ------- | --------- | --------- | --------- | +| Zed-hosted AI models | — | ✓ | ✓ | ✓ | +| [AI via own API keys](../ai/use-api-access.md) | ✓ | ✓ | ✓ | ✓ | +| [External Agents](../ai/external-agents.md) | ✓ | ✓ | ✓ | ✓ | +| Edit Predictions | Limited | Unlimited | Unlimited | Unlimited | +| [Org-wide admin controls](../business/admin-controls.md) | — | — | — | ✓ | +| Roles & permissions | — | — | — | ✓ | +| Consolidated billing | — | — | — | ✓ | ### Zed Free {#free} diff --git a/docs/src/ai/agent-panel.md b/docs/src/ai/agent-panel.md index b284954f5f..127b163ca9 100644 --- a/docs/src/ai/agent-panel.md +++ b/docs/src/ai/agent-panel.md @@ -140,7 +140,7 @@ The Agent Panel can host Terminal Threads alongside your agent threads. For open The agent can search your codebase to find relevant context, but providing it explicitly improves response quality and reduces latency. Add context by typing `@` in the message editor. -You can mention files, directories, symbols, previous threads, skills, diagnostics, branch diffs, and URLs to fetch. +You can mention files, directories, symbols, previous threads, [skills](./skills.md), diagnostics, branch diffs, and URLs to fetch. When you paste multi-line code selections copied from a buffer, Zed automatically formats them as @-mentions with the file context. To paste content without this automatic formatting, use {#kb agent::PasteRaw} to paste raw text directly. diff --git a/docs/src/ai/agent-profiles.md b/docs/src/ai/agent-profiles.md index 2ae8924776..fbd1c6dcd3 100644 --- a/docs/src/ai/agent-profiles.md +++ b/docs/src/ai/agent-profiles.md @@ -5,7 +5,7 @@ description: Configure Zed Agent profiles for model selection, built-in tool ava # Agent Profiles -Agent profiles control how the [Zed Agent](./zed-agent.md) behaves in a thread. A profile can set a default model and choose which built-in tools and MCP tools are available. +Agent profiles control how the [Zed Agent](./zed-agent.md) behaves in a thread. A profile can set a default model and choose which [built-in tools](./tools.md) and MCP tools are available. Profiles do not decide whether a tool call is allowed automatically. Use [Tool Permissions](./tool-permissions.md) to control allow, deny, and confirm behavior. @@ -19,7 +19,7 @@ Zed includes three built-in profiles: ## Configure Profiles {#configure-profiles} -Open the profile selector in the Agent Panel, then click `Configure`. +Open the profile selector in the [Agent Panel](./agent-panel.md), then click `Configure`. You can also run {#action agent::ManageProfiles} from the command palette. @@ -73,4 +73,4 @@ If a tool is not available in the active profile, the Zed Agent cannot use it. I ## Agent Path Boundaries {#agent-path-boundaries} -Agent profiles apply to the Zed Agent. External Agents and Terminal Threads do not use Zed Agent profiles unless their integration explicitly supports similar behavior. +Agent profiles apply to the Zed Agent. External Agents and [Terminal Threads](./terminal-threads.md) do not use Zed Agent profiles unless their integration explicitly supports similar behavior. diff --git a/docs/src/ai/agents.md b/docs/src/ai/agents.md index bed5e7184e..c2dead09a1 100644 --- a/docs/src/ai/agents.md +++ b/docs/src/ai/agents.md @@ -7,11 +7,11 @@ description: Compare Zed Agent, External Agents, and Terminal Threads. Zed supports three agent paths. Choose the path based on how you want agentic work to run. -| Agent path | Runs in | Uses | Best when | -| ----------------------------------------- | ------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| [Zed Agent](./zed-agent.md) | Agent Panel and Threads Sidebar | Zed-configured LLM providers, native tools, skills, instructions, MCP | You want Zed's native agent integration | -| [External Agents](./external-agents.md) | Agent Panel and Threads Sidebar | ACP agent process and its own auth/config | You want Claude, Codex, OpenCode, Copilot, Cursor, Pi, or another ACP-integrated agent | -| [Terminal Threads](./terminal-threads.md) | Threads Sidebar and terminal | Native CLI/TUI auth/config | You want the tool's command-line experience organized in Zed | +| Agent path | Runs in | Uses | Best when | +| ----------------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- | +| [Zed Agent](./zed-agent.md) | [Agent Panel](./agent-panel.md) and Threads Sidebar | Zed-configured LLM providers, native tools, skills, [instructions](./instructions.md), MCP | You want Zed's native agent integration | +| [External Agents](./external-agents.md) | Agent Panel and Threads Sidebar | ACP agent process and its own auth/config | You want Claude, Codex, OpenCode, Copilot, Cursor, Pi, or another ACP-integrated agent | +| [Terminal Threads](./terminal-threads.md) | Threads Sidebar and terminal | Native CLI/TUI auth/config | You want the tool's command-line experience organized in Zed | An agent path is sometimes called a harness. It is the way agentic work is started, displayed, configured, and controlled in Zed. diff --git a/docs/src/ai/edit-prediction.md b/docs/src/ai/edit-prediction.md index 09bcde5415..b49506ac4b 100644 --- a/docs/src/ai/edit-prediction.md +++ b/docs/src/ai/edit-prediction.md @@ -41,7 +41,7 @@ The free plan includes 2,000 Zeta predictions per month. The [Pro plan](../accou Edit Prediction has two display modes: -1. `eager` (default): predictions are displayed inline as long as they don't conflict with language server completions +1. `eager` (default): predictions are displayed inline as long as they don't conflict with [language server completions](../completions.md) 2. `subtle`: predictions only appear inline when holding a modifier key (`alt` by default) Toggle between them via the `mode` key: @@ -73,7 +73,7 @@ In `eager` mode, you can also use the `tab` key to accept edit predictions, unle To always use `tab` for accepting edit predictions, regardless of whether the LSP completions menu is open, you can add the following to your keymap: -Open the keymap editor with {#action zed::OpenKeymap} ({#kb zed::OpenKeymap}), search for `AcceptEditPrediction`, right click on the binding for `tab` and hit `edit`. Then change the context the binding is active in to just `Editor && edit_prediction` and save it. +Open the [keymap editor](../key-bindings.md) with {#action zed::OpenKeymap} ({#kb zed::OpenKeymap}), search for `AcceptEditPrediction`, right click on the binding for `tab` and hit `edit`. Then change the context the binding is active in to just `Editor && edit_prediction` and save it. Alternatively, you can put the following in your `keymap.json`: diff --git a/docs/src/ai/external-agents.md b/docs/src/ai/external-agents.md index e60dd32240..a9f5f5e8dc 100644 --- a/docs/src/ai/external-agents.md +++ b/docs/src/ai/external-agents.md @@ -124,16 +124,16 @@ You can also create keybindings for specific agents with {#action agent::NewExte External Agents run as separate processes that communicate with Zed over ACP. This creates a boundary between Zed configuration and agent-native configuration. -| Capability | Behavior in External Agent threads | -| -------------------------------- | ------------------------------------------------------------------------------------------ | -| Model/provider config | Usually owned by the External Agent | -| Auth/API keys/subscriptions | Usually owned by the External Agent | -| Zed Agent profiles | Do not apply unless the integration says otherwise | -| Zed Skills | Do not apply as Zed Skills | -| Native agent skills/instructions | Depends on the agent | -| Zed MCP servers | May be forwarded over ACP | -| Native MCP config | May also be read by the agent | -| Tool permissions | Zed ACP/tool forwarding permissions may apply; native tool permissions depend on the agent | +| Capability | Behavior in External Agent threads | +| ----------------------------------------- | ------------------------------------------------------------------------------------------ | +| Model/provider config | Usually owned by the External Agent | +| Auth/API keys/subscriptions | Usually owned by the External Agent | +| [Zed Agent profiles](./agent-profiles.md) | Do not apply unless the integration says otherwise | +| Zed Skills | Do not apply as Zed Skills | +| Native agent skills/instructions | Depends on the agent | +| Zed MCP servers | May be forwarded over ACP | +| Native MCP config | May also be read by the agent | +| Tool permissions | Zed ACP/tool forwarding permissions may apply; native tool permissions depend on the agent | For Zed's native agent configuration, see [Zed Agent](./zed-agent.md). diff --git a/docs/src/ai/inline-assistant.md b/docs/src/ai/inline-assistant.md index 2112665ac8..bb9cbdf367 100644 --- a/docs/src/ai/inline-assistant.md +++ b/docs/src/ai/inline-assistant.md @@ -21,7 +21,7 @@ You can do that by: If you have already set up an LLM provider to interact with [the Agent Panel](./agent-panel.md#getting-started), then that will also work for the Inline Assistant. -[External Agents](./external-agents.md) run in agent threads, but they are not available for Inline Assistant generations. The Inline Assistant uses Zed-configured [LLM providers](./llm-providers.md), including Zed-hosted models, provider API keys, gateways, local models, and supported subscriptions. +[External Agents](./external-agents.md) run in agent threads, but they are not available for Inline Assistant generations. The Inline Assistant uses Zed-configured [LLM providers](./llm-providers.md), including Zed-hosted models, provider API keys, gateways, [local models](./use-a-local-model.md), and supported subscriptions. ## Adding Context diff --git a/docs/src/ai/instructions.md b/docs/src/ai/instructions.md index 0f25bcae7b..39bbda7c9f 100644 --- a/docs/src/ai/instructions.md +++ b/docs/src/ai/instructions.md @@ -41,14 +41,14 @@ Project instructions override personal `AGENTS.md` when they conflict. ## Instruction File Support {#support} -| File | Zed Agent | External Agents | Terminal Threads | -| --------------------------------- | ------------------------------------------------------ | --------------------- | -------------------------------- | -| `~/.config/zed/AGENTS.md` | Loaded as personal instructions | Not generally used | Not used unless the CLI reads it | -| Project `AGENTS.md` | Loaded as project instructions | Depends on the agent | Depends on the CLI | -| `CLAUDE.md` | Loaded as compatible project instructions by Zed Agent | Claude reads natively | Claude Code CLI reads natively | -| `.github/copilot-instructions.md` | Loaded as compatible project instructions by Zed Agent | Depends on the agent | Depends on the CLI | +| File | [Zed Agent](./zed-agent.md) | [External Agents](./external-agents.md) | Terminal Threads | +| --------------------------------- | ------------------------------------------------------ | --------------------------------------- | -------------------------------- | +| `~/.config/zed/AGENTS.md` | Loaded as personal instructions | Not generally used | Not used unless the CLI reads it | +| Project `AGENTS.md` | Loaded as project instructions | Depends on the agent | Depends on the CLI | +| `CLAUDE.md` | Loaded as compatible project instructions by Zed Agent | Claude reads natively | Claude Code CLI reads natively | +| `.github/copilot-instructions.md` | Loaded as compatible project instructions by Zed Agent | Depends on the agent | Depends on the CLI | -External Agents and Terminal Threads may read their own native instruction files directly. Do not assume Zed's instruction loader controls those agents. +External Agents and [Terminal Threads](./terminal-threads.md) may read their own native instruction files directly. Do not assume Zed's instruction loader controls those agents. ## Instructions vs. Skills {#instructions-vs-skills} diff --git a/docs/src/ai/mcp.md b/docs/src/ai/mcp.md index 89d7beac86..193d2b3103 100644 --- a/docs/src/ai/mcp.md +++ b/docs/src/ai/mcp.md @@ -51,7 +51,7 @@ Popular servers available as an extension include: ### As Custom Servers Creating an extension is not the only way to use MCP servers in Zed. -You can connect both local and remote MCP servers from **Settings → AI → MCP Servers** (also accessible via the {#action agent::OpenSettings} action, then selecting `MCP Servers`). Click `Add Server` in the page header, then choose `Add Local Server` or `Add Remote Server`. Your specified configuration will create entries in your settings file (which you can open with {#action zed::OpenSettingsFile}) similar to the ones below: +You can connect both local and remote MCP servers from **[Settings → AI → MCP Servers](./agent-settings.md)** (also accessible via the {#action agent::OpenSettings} action, then selecting `MCP Servers`). Click `Add Server` in the page header, then choose `Add Local Server` or `Add Remote Server`. Your specified configuration will create entries in your settings file (which you can open with {#action zed::OpenSettingsFile}) similar to the ones below: ```json [settings] { diff --git a/docs/src/ai/overview.md b/docs/src/ai/overview.md index 87ecba9277..a1ddb760fd 100644 --- a/docs/src/ai/overview.md +++ b/docs/src/ai/overview.md @@ -7,11 +7,11 @@ description: Understand Zed's AI features, agent paths, model providers, and set Zed's AI docs are organized around three areas: -| Area | Use it to choose | Examples | -| ------------ | ----------------------------------- | -------------------------------------------------------------------- | -| Agents | How agentic work runs in Zed | Zed Agent, External Agents, Terminal Threads | -| Model access | How Zed connects to language models | Zed-hosted models, API access, subscriptions, gateways, local models | -| Features | Which AI workflow you want to use | Agentic editing, inline edits, edit prediction, Git assistance | +| Area | Use it to choose | Examples | +| ------------ | ----------------------------------- | ------------------------------------------------------------------------------------------ | +| Agents | How agentic work runs in Zed | Zed Agent, External Agents, Terminal Threads | +| Model access | How Zed connects to language models | Zed-hosted models, API access, subscriptions, [gateways](./use-a-gateway.md), local models | +| Features | Which AI workflow you want to use | Agentic editing, inline edits, edit prediction, Git assistance | Start with [AI Quick Start](./quick-start.md) if you know what you want to do. Use [AI by Company](./by-company.md) if you know the company, subscription, model provider, agent, or CLI you want to use. @@ -19,7 +19,7 @@ Start with [AI Quick Start](./quick-start.md) if you know what you want to do. U Agent paths decide how agentic work runs in Zed. -- [Zed Agent](./zed-agent.md): Zed's native agent. It can use models configured through [LLM Providers](./llm-providers.md), including Zed-hosted models, provider API keys, supported subscriptions, gateways, and local models. It also uses built-in tools, profiles, skills, instructions, and MCP servers. +- [Zed Agent](./zed-agent.md): Zed's native agent. It can use models configured through [LLM Providers](./llm-providers.md), including [Zed-hosted models](../account/zed-hosted-models.md), provider API keys, supported subscriptions, gateways, and [local models](./use-a-local-model.md). It also uses built-in tools, profiles, skills, instructions, and MCP servers. - [External Agents](./external-agents.md): ACP-integrated agents that run through their own process and configuration. - [Terminal Threads](./terminal-threads.md): terminal-backed threads for running an agent CLI or TUI directly in Zed. @@ -29,7 +29,7 @@ See [Agents](./agents.md) for a comparison. ## Model Access {#model-access} -Model access controls which models power the Zed Agent and other model-backed Zed AI features. Zed can use hosted models, provider API access, subscription sign-in, gateways, and local models. +Model access controls which models power the Zed Agent and other model-backed Zed AI features. Zed can use hosted models, [provider API access](./use-api-access.md), subscription sign-in, gateways, and local models. See [LLM Providers](./llm-providers.md) to choose a model access path. diff --git a/docs/src/ai/parallel-agents.md b/docs/src/ai/parallel-agents.md index 8775bf947d..9cf27c30e4 100644 --- a/docs/src/ai/parallel-agents.md +++ b/docs/src/ai/parallel-agents.md @@ -57,11 +57,11 @@ Each thread can use a different agent, so you can run Zed's built-in agent in on The Threads Sidebar can hold different thread types: -| Thread type | Configuration | -| --------------------------------------------- | ------------------------------------------------------------------------------- | -| [Zed Agent thread](./zed-agent.md) | Uses Zed Agent settings, profiles, tools, Skills, Instructions, and MCP | -| [External Agent thread](./external-agents.md) | Uses the ACP integration and the agent's native configuration | -| [Terminal Thread](./terminal-threads.md) | Runs a CLI/TUI in a terminal-backed thread; the CLI owns auth and configuration | +| Thread type | Configuration | +| --------------------------------------------- | -------------------------------------------------------------------------------------- | +| [Zed Agent thread](./zed-agent.md) | Uses Zed Agent settings, profiles, tools, [Skills](./skills.md), Instructions, and MCP | +| [External Agent thread](./external-agents.md) | Uses the ACP integration and the agent's native configuration | +| [Terminal Thread](./terminal-threads.md) | Runs a CLI/TUI in a terminal-backed thread; the CLI owns auth and configuration | ## Multiple Projects {#multiple-projects} diff --git a/docs/src/ai/skills.md b/docs/src/ai/skills.md index 8dcbfdd882..a3d6a26e60 100644 --- a/docs/src/ai/skills.md +++ b/docs/src/ai/skills.md @@ -190,7 +190,7 @@ The agent cannot edit `SKILL.md` files or their bundled resources without your e ## Agent Path Boundaries {#agent-path-boundaries} -Zed Skills apply to the Zed Agent. External Agents and Terminal Threads may have their own native skills, prompts, or instruction systems. Configure those in the External Agent or CLI. +Zed Skills apply to the Zed Agent. [External Agents](./external-agents.md) and Terminal Threads may have their own native skills, prompts, or instruction systems. Configure those in the External Agent or CLI. ## Limitations {#limitations} diff --git a/docs/src/ai/terminal-threads.md b/docs/src/ai/terminal-threads.md index 369adc6837..7d20323e52 100644 --- a/docs/src/ai/terminal-threads.md +++ b/docs/src/ai/terminal-threads.md @@ -28,7 +28,7 @@ The CLI or TUI running inside the terminal owns its own: - skills and instruction files - MCP configuration -Zed Agent profiles, Zed Agent tool permissions, Zed Skills, and Zed Agent MCP settings do not automatically apply to Terminal Threads. +[Zed Agent profiles](./agent-profiles.md), Zed Agent tool permissions, Zed Skills, and Zed Agent MCP settings do not automatically apply to Terminal Threads. ## Opening a Terminal Thread {#opening-a-terminal-thread} @@ -161,7 +161,7 @@ terminal_title = ["spinner", "project-name", "run-state", "thread-title"] Credentials come from the terminal session and the CLI/TUI running inside it. -In remote projects, the CLI may read the remote shell environment and remote config files. In local Terminal Threads, it reads the local shell environment and local config files. Zed does not copy API keys from LLM provider settings into Terminal Threads. +In remote projects, the CLI may read the remote shell environment and remote config files. In local Terminal Threads, it reads the local shell environment and local config files. Zed does not copy [API keys from LLM provider settings](./use-api-access.md) into Terminal Threads. ## When to Use Terminal Threads {#when-to-use-terminal-threads} diff --git a/docs/src/ai/tool-permissions.md b/docs/src/ai/tool-permissions.md index 95f8240278..09bed49a99 100644 --- a/docs/src/ai/tool-permissions.md +++ b/docs/src/ai/tool-permissions.md @@ -56,7 +56,7 @@ The `tool_permissions` setting lets you customize tool permissions by specifying | `search_web` | The search query | | `skill` | The absolute path to the skill's `SKILL.md` file | -For MCP tools, use the format `mcp::`. +For [MCP tools](./mcp.md), use the format `mcp::`. For example, a tool called `create_issue` on a server called `github` would be `mcp:github:create_issue`. For model-invoked [Skills](./skills.md), use the `skill` tool. A user-invoked `/skill-name` slash command does not prompt again because you explicitly invoked the skill. diff --git a/docs/src/ai/use-a-gateway.md b/docs/src/ai/use-a-gateway.md index b1e05dcb8d..111de74b10 100644 --- a/docs/src/ai/use-a-gateway.md +++ b/docs/src/ai/use-a-gateway.md @@ -7,12 +7,12 @@ description: Configure OpenRouter, Vercel AI Gateway, Amazon Bedrock, and other Use a gateway when you route model requests through a platform such as OpenRouter, Vercel AI Gateway, Amazon Bedrock, or another OpenAI-compatible service. -| Gateway | Zed AI features | External Agents | Terminal Threads | Notes | -| ------------------------- | --------------- | --------------- | ---------------- | -------------------------------------------- | -| OpenRouter | Yes | Separate config | Separate config | Uses OpenRouter API access | -| Vercel AI Gateway | Yes | Separate config | Separate config | Uses Vercel AI Gateway API access | -| Amazon Bedrock | Yes | Separate config | Separate config | Uses AWS credentials or Bedrock bearer token | -| OpenAI-compatible gateway | Yes | Separate config | Separate config | Configure base URL, model, and key | +| Gateway | Zed AI features | [External Agents](./external-agents.md) | Terminal Threads | Notes | +| ------------------------- | --------------- | --------------------------------------- | ---------------- | -------------------------------------------- | +| OpenRouter | Yes | Separate config | Separate config | Uses OpenRouter API access | +| Vercel AI Gateway | Yes | Separate config | Separate config | Uses Vercel AI Gateway API access | +| Amazon Bedrock | Yes | Separate config | Separate config | Uses AWS credentials or Bedrock bearer token | +| OpenAI-compatible gateway | Yes | Separate config | Separate config | Configure base URL, model, and key | ## OpenRouter {#openrouter} @@ -160,7 +160,7 @@ For a named profile, configure Bedrock in settings: } ``` -For static credentials, open Agent Settings with {#action agent::OpenSettings}, go to the Amazon Bedrock section, and enter the access key ID, secret access key, and region. +For static credentials, open [Agent Settings](./agent-settings.md) with {#action agent::OpenSettings}, go to the Amazon Bedrock section, and enter the access key ID, secret access key, and region. For a Bedrock API key, choose API key authentication: diff --git a/docs/src/ai/use-a-local-model.md b/docs/src/ai/use-a-local-model.md index 5ffc60172c..d423393b1d 100644 --- a/docs/src/ai/use-a-local-model.md +++ b/docs/src/ai/use-a-local-model.md @@ -165,4 +165,4 @@ Edit Prediction has its own provider setup. See [Edit Prediction](./edit-predict ## Agent Path Boundaries {#agent-path-boundaries} -This page covers local models configured in Zed. External Agents and terminal CLIs may have their own local-model setup; configure those in the agent or CLI. +This page covers local models configured in Zed. [External Agents](./external-agents.md) and terminal CLIs may have their own local-model setup; configure those in the agent or CLI. diff --git a/docs/src/ai/use-api-access.md b/docs/src/ai/use-api-access.md index ea8911113b..e6770d5106 100644 --- a/docs/src/ai/use-api-access.md +++ b/docs/src/ai/use-api-access.md @@ -43,7 +43,7 @@ agent paths and model access paths. Most API-access providers can be configured on the **Settings → AI → LLM Providers** page with {#action agent::OpenSettings}. Keys saved through Zed are stored in the system keychain, not in `settings.json`. -Zed also reads provider-specific environment variables. Non-empty environment variables take precedence over keychain values. If a key comes from an environment variable, unset the variable and restart Zed to stop using it. +Zed also reads provider-specific environment variables. Non-empty [environment variables](../environment.md) take precedence over keychain values. If a key comes from an environment variable, unset the variable and restart Zed to stop using it. | Provider | Environment variable | | ----------------- | ----------------------------------------------------- | @@ -80,7 +80,7 @@ Configure them with `language_models..custom_headers`: } ``` -`custom_headers` is supported by Amazon Bedrock, Anthropic, DeepSeek, Google AI, LM Studio, Mistral, Ollama, OpenAI, OpenAI-compatible providers, OpenCode, OpenRouter, Vercel AI Gateway, and xAI. +`custom_headers` is supported by Amazon Bedrock, Anthropic, DeepSeek, Google AI, LM Studio, Mistral, Ollama, OpenAI, OpenAI-compatible providers, OpenCode, OpenRouter, [Vercel AI Gateway](./use-a-gateway.md), and xAI. Headers managed by Zed for each provider, such as `Authorization`, `Content-Type`, `Accept`, and provider-specific authentication headers, are ignored with a warning if you try to override them. @@ -188,7 +188,7 @@ You must provide the model's context window in `max_tokens`. For reasoning-focus Use Google AI API access when you have a Gemini API key. 1. Go to Google AI Studio and [create an API key](https://aistudio.google.com/app/apikey). -2. Open Agent Settings with {#action agent::OpenSettings} and go to the Google AI section. +2. Open [Agent Settings](./agent-settings.md) with {#action agent::OpenSettings} and go to the Google AI section. 3. Enter your Google AI API key. Zed reads `GEMINI_API_KEY`, falling back to `GOOGLE_AI_API_KEY`, from the local Zed process environment. @@ -418,7 +418,7 @@ Custom OpenCode models are listed in the model dropdown in the Agent Panel. Use an Anthropic-compatible endpoint when a service implements Anthropic's [Messages API](https://docs.anthropic.com/en/api/messages) (`/v1/messages`) and gives you a custom base URL, model ID, and API key. -You can add a custom Anthropic-compatible provider from Agent Settings with {#action agent::OpenSettings}. Look for `Add Provider` in the LLM Providers section, choose `Anthropic`, and fill in the provider name, API URL, model ID, and context window. +You can add a custom Anthropic-compatible provider from Agent Settings with {#action agent::OpenSettings}. Look for `Add Provider` in the [LLM Providers](./llm-providers.md) section, choose `Anthropic`, and fill in the provider name, API URL, model ID, and context window. You can also configure the provider in your settings file: diff --git a/docs/src/business/organizations.md b/docs/src/business/organizations.md index 54b176415b..97f265af75 100644 --- a/docs/src/business/organizations.md +++ b/docs/src/business/organizations.md @@ -58,4 +58,4 @@ Removing a member ends their access to the organization's subscription, billing, ## Organization Dashboard -The dashboard shows your members, roles, and billing. Owners and admins have full access. Billing Managers have billing access. Members have no dashboard access. +The dashboard shows your members, roles, and billing. Owners and admins have full access. Billing Managers have [billing](../account/billing.md) access. Members have no dashboard access. diff --git a/docs/src/configuring-languages.md b/docs/src/configuring-languages.md index d37cc967ef..b7958214bf 100644 --- a/docs/src/configuring-languages.md +++ b/docs/src/configuring-languages.md @@ -319,7 +319,7 @@ Zed supports both built-in and external formatters. See [`formatter`](./referenc } ``` -This example uses Prettier for JavaScript and the language server's formatter for Rust, both set to format on save. +This example uses Prettier for JavaScript and the language server's formatter for [Rust](./languages/rust.md), both set to format on save. To disable formatting for a specific language: @@ -347,7 +347,7 @@ Linting in Zed is typically handled by language servers. Many language servers a } ``` -This configuration sets up ESLint to organize imports on save for JavaScript files. +This configuration sets up ESLint to organize imports on save for [JavaScript](./languages/javascript.md) files. To run linter fixes automatically on save: diff --git a/docs/src/diagnostics.md b/docs/src/diagnostics.md index 7af28e062c..ad7e5a9660 100644 --- a/docs/src/diagnostics.md +++ b/docs/src/diagnostics.md @@ -50,7 +50,7 @@ This is disabled by default, but can either be temporarily turned on (or off) us ## Project Panel -Project panel can have its entries coloured based on the severity of the diagnostics in the file. +[Project panel](./project-panel.md) can have its entries coloured based on the severity of the diagnostics in the file. To configure, use diff --git a/docs/src/editing-code.md b/docs/src/editing-code.md index d096418ebe..9f177c7a59 100644 --- a/docs/src/editing-code.md +++ b/docs/src/editing-code.md @@ -20,7 +20,7 @@ Zed provides tools to help you write and modify code efficiently. This section c When you're editing code, Zed combines input from multiple sources: 1. **Language servers** provide completions, diagnostics, and quick fixes based on your project's types and structure -2. **Edit predictions** suggest multi-character or multi-line changes as you type +2. **[Edit predictions](./ai/edit-prediction.md)** suggest multi-character or multi-line changes as you type 3. **Multibuffers** let you apply changes across files in one operation For example, you might: diff --git a/docs/src/extensions/languages.md b/docs/src/extensions/languages.md index cc3be06049..c0157c1760 100644 --- a/docs/src/extensions/languages.md +++ b/docs/src/extensions/languages.md @@ -372,7 +372,7 @@ For example, in JavaScript, we also disable auto-closing of single quotes within ### Text objects -The `textobjects.scm` file defines rules for navigating by text objects. This was added in Zed v0.165 and is currently used only in Vim mode. +The `textobjects.scm` file defines rules for navigating by text objects. This was added in Zed v0.165 and is currently used only in [Vim mode](../vim.md). Vim provides two levels of granularity for navigating around files. Section-by-section with `[]` etc., and method-by-method with `]m` etc. Even languages that don't support functions and classes can work well by defining similar concepts. For example CSS defines a rule-set as a method, and a media-query as a class. @@ -503,7 +503,7 @@ You can customize the handling of the language server using several optional met ### Syntax Highlighting with Semantic Tokens -Zed supports syntax highlighting using semantic tokens from the attached language servers. This is currently disabled by default, but can be enabled in your settings file: +Zed supports syntax highlighting using [semantic tokens](../semantic-tokens.md) from the attached language servers. This is currently disabled by default, but can be enabled in your settings file: ```json [settings] { diff --git a/docs/src/getting-started.md b/docs/src/getting-started.md index ecc4bebfc9..ad7bf5a350 100644 --- a/docs/src/getting-started.md +++ b/docs/src/getting-started.md @@ -40,11 +40,11 @@ By default, new projects open in your current window's threads sidebar. To open | Toggle terminal | `` Ctrl+` `` | `` Ctrl+` `` | | Open settings | `Cmd+,` | `Ctrl+,` | -The command palette (`Cmd+Shift+P`) is your gateway to every action in Zed. If you forget a shortcut, search for it there. +The [command palette](./command-palette.md) (`Cmd+Shift+P`) is your gateway to every action in Zed. If you forget a shortcut, search for it there. ### Panel Layout -Use **Panel Layout > Agentic** from the user menu in the title bar (or the {#action workspace::UseAgenticLayout} action) when you want the Agent Panel and Threads Sidebar next to each other on the left. Use **Panel Layout > Classic** (or {#action workspace::UseClassicLayout}) to restore the editor-oriented layout. +Use **Panel Layout > Agentic** from the user menu in the title bar (or the {#action workspace::UseAgenticLayout} action) when you want the [Agent Panel](./ai/agent-panel.md) and Threads Sidebar next to each other on the left. Use **Panel Layout > Classic** (or {#action workspace::UseClassicLayout}) to restore the editor-oriented layout. ### 3. Configure Your Editor @@ -53,7 +53,7 @@ Open the Settings Editor with `Cmd+,` (macOS) or `Ctrl+,` (Linux/Windows). Searc Common first changes: - **Theme**: Press `Cmd+K Cmd+T` (macOS) or `Ctrl+K Ctrl+T` (Linux/Windows) to open the theme selector -- **Font**: Search for `buffer_font_family` in Settings +- **Font**: Search for [`buffer_font_family`](./reference/all-settings.md#buffer-font-family) in Settings - **Format on save**: Search for `format_on_save` and set to `on` ### 4. Set Up Your Language diff --git a/docs/src/key-bindings.md b/docs/src/key-bindings.md index 550c9ecdaf..1b2b00bdfe 100644 --- a/docs/src/key-bindings.md +++ b/docs/src/key-bindings.md @@ -29,7 +29,7 @@ For more information, see the documentation for [Vim mode](./vim.md) and [Helix ## Keymap Editor -You can access the keymap editor through the {#kb zed::OpenKeymap} action or by running {#action zed::OpenKeymap} action from the command palette. You can easily add or change a keybind for an action with the `Change Keybinding` or `Add Keybinding` button on the command palette's left bottom corner. +You can access the keymap editor through the {#kb zed::OpenKeymap} action or by running {#action zed::OpenKeymap} action from the [command palette](./command-palette.md). You can easily add or change a keybind for an action with the `Change Keybinding` or `Add Keybinding` button on the command palette's left bottom corner. In there, you can see all of the existing actions in Zed as well as the associated keybindings set to them by default. diff --git a/docs/src/languages.md b/docs/src/languages.md index 7c62220609..4c471ef5dd 100644 --- a/docs/src/languages.md +++ b/docs/src/languages.md @@ -6,7 +6,7 @@ description: "Overview of programming language support in Zed, including built-i # Language Support in Zed Zed supports hundreds of programming languages and text formats. -Some work out-of-the-box and others rely on 3rd party extensions. +Some work out-of-the-box and others rely on [3rd party extensions](./extensions/installing-extensions.md). > The ones included out-of-the-box, natively built into Zed, are marked with \*. diff --git a/docs/src/languages/cpp.md b/docs/src/languages/cpp.md index e8e8acf9f6..eb66ee48c8 100644 --- a/docs/src/languages/cpp.md +++ b/docs/src/languages/cpp.md @@ -142,7 +142,7 @@ After building your project, CMake will generate the `compile_commands.json` fil ## Debugging -You can use CodeLLDB or GDB to debug native binaries. (Make sure that your build process passes `-g` to the C++ compiler, so that debug information is included in the resulting binary.) See below for examples of debug configurations that you can add to `.zed/debug.json`. +You can use CodeLLDB or GDB to [debug](../debugger.md) native binaries. (Make sure that your build process passes `-g` to the C++ compiler, so that debug information is included in the resulting binary.) See below for examples of debug configurations that you can add to `.zed/debug.json`. - [CodeLLDB configuration documentation](https://github.com/vadimcn/codelldb/blob/master/MANUAL.md#starting-a-new-debug-session) - [GDB configuration documentation](https://sourceware.org/gdb/current/onlinedocs/gdb.html/Debugger-Adapter-Protocol.html) diff --git a/docs/src/languages/html.md b/docs/src/languages/html.md index 5fc2dbacb1..adb19899bd 100644 --- a/docs/src/languages/html.md +++ b/docs/src/languages/html.md @@ -87,7 +87,7 @@ To get all the features (autocomplete, linting, etc.) from the [Tailwind CSS lan } ``` -With these settings, you will get completions for Tailwind CSS classes in HTML `class` attributes. Examples: +With these settings, you will get completions for [Tailwind CSS](./tailwindcss.md) classes in HTML `class` attributes. Examples: ```html
diff --git a/docs/src/languages/javascript.md b/docs/src/languages/javascript.md index 16e5c2ad60..54d320b1a7 100644 --- a/docs/src/languages/javascript.md +++ b/docs/src/languages/javascript.md @@ -237,7 +237,7 @@ The following can be debugged without writing additional configuration: - Tasks from `package.json` - Tests written using several popular frameworks (Jest, Mocha, Vitest, Jasmine, Bun, Node) -Run {#action debugger::Start} ({#kb debugger::Start}) to see a contextual list of these predefined debug tasks. +Run {#action debugger::Start} ({#kb debugger::Start}) to see a contextual list of these predefined [debug tasks](../debugger.md). > **Note:** Bun test is automatically detected when `@types/bun` is present in `package.json`. diff --git a/docs/src/languages/r.md b/docs/src/languages/r.md index a40cda0242..794f7a77bc 100644 --- a/docs/src/languages/r.md +++ b/docs/src/languages/r.md @@ -141,7 +141,7 @@ TBD: R REPL Docs ### Ark Installation -To use the Zed REPL with R you need to install [Ark](https://github.com/posit-dev/ark), an R Kernel for Jupyter applications. +To use the [Zed REPL](../repl.md) with R you need to install [Ark](https://github.com/posit-dev/ark), an R Kernel for Jupyter applications. You can download the latest version from the [Ark GitHub Releases](https://github.com/posit-dev/ark/releases) and then extract the `ark` binary to a directory in your `PATH`. For example to install the latest non-debug build: diff --git a/docs/src/languages/typescript.md b/docs/src/languages/typescript.md index 108e6e34d4..0262129a60 100644 --- a/docs/src/languages/typescript.md +++ b/docs/src/languages/typescript.md @@ -242,7 +242,7 @@ The following can be debugged without writing additional configuration: - Tasks from `package.json` - Tests written using several popular frameworks (Jest, Mocha, Vitest, Jasmine, Bun, Node) -Run {#action debugger::Start} ({#kb debugger::Start}) to see a contextual list of these predefined debug tasks. +Run {#action debugger::Start} ({#kb debugger::Start}) to see a contextual list of these [predefined debug tasks](../debugger.md). > **Note:** Bun test is automatically detected when `@types/bun` is present in `package.json`. diff --git a/docs/src/migrate/intellij.md b/docs/src/migrate/intellij.md index ca200c6725..a6f48809a2 100644 --- a/docs/src/migrate/intellij.md +++ b/docs/src/migrate/intellij.md @@ -249,7 +249,7 @@ Zed has three dock positions: left, bottom, and right. Panels can be moved betwe Both IntelliJ and Zed offer integrated debugging, but the experience differs: -- Zed's debugger uses the Debug Adapter Protocol (DAP), supporting multiple languages +- Zed's [debugger](../debugger.md) uses the Debug Adapter Protocol (DAP), supporting multiple languages - Set breakpoints with `Ctrl+F8` - Start debugging with `Alt+Shift+F9` - Step through code with `F7` (step into), `F8` (step over), `Shift+F8` (step out) diff --git a/docs/src/migrate/pycharm.md b/docs/src/migrate/pycharm.md index 7a6bcf9d17..e015032f4f 100644 --- a/docs/src/migrate/pycharm.md +++ b/docs/src/migrate/pycharm.md @@ -183,7 +183,7 @@ Where you might notice differences: In PyCharm, you select a Python interpreter through a GUI, and PyCharm manages the connection between your project and that interpreter. It shows available packages, lets you install new ones, and keeps track of which environment each project uses. -Zed handles virtual environments through its toolchain system: +Zed handles virtual environments through its [toolchain system](../toolchains.md): - Zed automatically discovers virtual environments in common locations (`.venv`, `venv`, `.env`, `env`) - When a virtual environment is detected, the terminal auto-activates it diff --git a/docs/src/migrate/vs-code.md b/docs/src/migrate/vs-code.md index 0ff396af15..124f8250d9 100644 --- a/docs/src/migrate/vs-code.md +++ b/docs/src/migrate/vs-code.md @@ -277,7 +277,7 @@ In VS Code, the standard entry point is opening a folder. From there, the left-h Zed takes a different approach: - You can still open folders, but you don’t need to. Opening a single file or even starting with an empty workspace is valid. -- The Command Palette (`Cmd+Shift+P`) and File Finder (`Cmd+P`) are primary navigation tools. The File Finder searches files, symbols, and commands across the workspace. +- The [Command Palette](../command-palette.md) (`Cmd+Shift+P`) and File Finder (`Cmd+P`) are primary navigation tools. The File Finder searches files, symbols, and commands across the workspace. - Instead of a persistent panel, Zed encourages you to: - Fuzzy-find files by name (`Cmd+P`) - Jump directly to symbols (`Cmd+Shift+O`) diff --git a/docs/src/project-panel.md b/docs/src/project-panel.md index bef67181ec..8619cbc387 100644 --- a/docs/src/project-panel.md +++ b/docs/src/project-panel.md @@ -31,8 +31,9 @@ to `false` to open permanent tabs with a single click or {#action project_panel: ### Auto-reveal By default, switching to a file in the editor will automatically highlight it in the -project panel and scroll it into view. This can be disabled with the -`project_panel.auto_reveal_entries` setting. +project panel and scroll it into view. This +[auto-reveal behavior](./reference/all-settings.md#auto-reveal-entries) can be +disabled with the `project_panel.auto_reveal_entries` setting. ### Sticky Scroll diff --git a/docs/src/reference/all-settings.md b/docs/src/reference/all-settings.md index 9381331ec2..fe4451ae95 100644 --- a/docs/src/reference/all-settings.md +++ b/docs/src/reference/all-settings.md @@ -209,7 +209,7 @@ Open the Settings Editor and search for “Threads Sidebar Auto Open”. Or add } ``` -> Note: This setting has no effect in Vim mode, as rewrap is already allowed everywhere. +> Note: This setting has no effect in [Vim mode](../vim.md), as rewrap is already allowed everywhere. ## Auto Indent @@ -4214,7 +4214,7 @@ Non-negative `integer` values ## Semantic Tokens -- Description: Controls how semantic tokens from language servers are used for syntax highlighting. +- Description: Controls how [semantic tokens](../semantic-tokens.md) from language servers are used for syntax highlighting. - Setting: `semantic_tokens` - Default: `off` diff --git a/docs/src/roles.md b/docs/src/roles.md index 4cd9490645..515aae1281 100644 --- a/docs/src/roles.md +++ b/docs/src/roles.md @@ -12,18 +12,18 @@ can access and configure. Every member of an organization is assigned one of four roles: -| Capability | Owner | Admin | Billing Manager | Member | -| --------------------------------------------------------------- | ----- | ----- | --------------- | ------ | -| Use hosted AI and Edit Predictions through Business | Yes | Yes | No | Yes | -| View organization members | Yes | Yes | Yes | Yes | -| Invite members | Yes | Yes | No | No | -| Change non-owner member roles | Yes | Yes | No | No | -| Remove non-owner members | Yes | Yes | No | No | -| Configure organization settings and data controls | Yes | Yes | No | No | -| View subscription, usage, and billing information | Yes | Yes | Yes | No | -| Update billing details, tax ID information, and payment methods | Yes | Yes | Yes | No | -| Cancel the subscription | Yes | No | No | No | -| Transfer ownership | Yes | No | No | No | +| Capability | Owner | Admin | Billing Manager | Member | +| --------------------------------------------------------------------------------- | ----- | ----- | --------------- | ------ | +| Use hosted AI and Edit Predictions through Business | Yes | Yes | No | Yes | +| View organization members | Yes | Yes | Yes | Yes | +| Invite members | Yes | Yes | No | No | +| Change non-owner member roles | Yes | Yes | No | No | +| Remove non-owner members | Yes | Yes | No | No | +| Configure [organization settings and data controls](./business/admin-controls.md) | Yes | Yes | No | No | +| View subscription, usage, and billing information | Yes | Yes | Yes | No | +| Update billing details, tax ID information, and payment methods | Yes | Yes | Yes | No | +| Cancel the subscription | Yes | No | No | No | +| Transfer ownership | Yes | No | No | No | ### Owner {#role-owner} diff --git a/docs/src/troubleshooting.md b/docs/src/troubleshooting.md index 9ef5cc9f32..6181c7b3b1 100644 --- a/docs/src/troubleshooting.md +++ b/docs/src/troubleshooting.md @@ -9,7 +9,7 @@ This guide covers common troubleshooting techniques for Zed. Sometimes you'll be able to identify and resolve issues on your own using this information. Other times, troubleshooting means gathering the right information (logs, profiles, or reproduction steps) to help us diagnose and fix the problem. -> **Note**: To open the command palette, use `cmd-shift-p` on macOS or `ctrl-shift-p` on Windows / Linux. +> **Note**: To open the [command palette](./command-palette.md), use `cmd-shift-p` on macOS or `ctrl-shift-p` on Windows / Linux. ## Retrieve Zed and System Information diff --git a/docs/src/vim.md b/docs/src/vim.md index 6604529a57..435ea759eb 100644 --- a/docs/src/vim.md +++ b/docs/src/vim.md @@ -32,7 +32,8 @@ When you first open Zed, you'll see a checkbox on the welcome screen that allows If you missed this, you can toggle vim mode on or off anytime by opening the command palette and using the workspace command {#action workspace::ToggleVimMode}. -> **Note**: This command toggles the following property in your user settings: +> **Note**: This command toggles the following +> [`vim_mode` setting](./reference/all-settings.md#vim) in your user settings: > > ```json [settings] > { @@ -388,7 +389,7 @@ With this configuration, you can use commands like: ### Selecting the correct context -Zed's key bindings are evaluated only when the `"context"` property matches your location in the editor. For example, if you add key bindings to the `"Editor"` context, they will only work when you're editing a file. If you add key bindings to the `"Workspace"` context, they will work everywhere in Zed. Here's an example of a key binding that saves when you're editing a file: +Zed's [key bindings](./key-bindings.md) are evaluated only when the `"context"` property matches your location in the editor. For example, if you add key bindings to the `"Editor"` context, they will only work when you're editing a file. If you add key bindings to the `"Workspace"` context, they will work everywhere in Zed. Here's an example of a key binding that saves when you're editing a file: ```json [keymap] { diff --git a/docs/src/visual-customization.md b/docs/src/visual-customization.md index 74ac66c628..2ecb58d210 100644 --- a/docs/src/visual-customization.md +++ b/docs/src/visual-customization.md @@ -11,7 +11,7 @@ See [All Settings](./reference/all-settings.md) for additional information and o ## Themes -You can install many [themes](./themes.md) and [icon themes](./icon-themes.md) in form of extensions by running {#action zed::Extensions} from the command palette. +You can install many [themes](./themes.md) and [icon themes](./icon-themes.md) in form of [extensions](./extensions.md) by running {#action zed::Extensions} from the command palette. You can preview/choose amongst your installed themes and icon themes with {#action theme_selector::Toggle} ({#kb theme_selector::Toggle}) and {#action icon_theme_selector::Toggle} which will modify the following settings: @@ -473,7 +473,7 @@ TBD: Centered layout related settings ## Project Panel -Project panel can be shown/hidden with {#action project_panel::ToggleFocus} ({#kb project_panel::ToggleFocus}) or with {#action pane::RevealInProjectPanel} ({#kb pane::RevealInProjectPanel}). +[Project panel](./project-panel.md) can be shown/hidden with {#action project_panel::ToggleFocus} ({#kb project_panel::ToggleFocus}) or with {#action pane::RevealInProjectPanel} ({#kb pane::RevealInProjectPanel}). ```json [settings] // Project Panel Settings diff --git a/docs/src/windows-and-projects.md b/docs/src/windows-and-projects.md index da5684cf40..3a821a71f2 100644 --- a/docs/src/windows-and-projects.md +++ b/docs/src/windows-and-projects.md @@ -7,7 +7,7 @@ description: "How Zed handles multiple projects in windows, including the thread Zed lets you work on multiple projects in a single window. Projects appear in the threads sidebar on the left, and you can switch between them while keeping your context intact. -Use **Panel Layout > Agentic** from the user menu in the title bar (or the {#action workspace::UseAgenticLayout} action) to keep the Threads Sidebar and Agent Panel together on the left. Use **Panel Layout > Classic** (or {#action workspace::UseClassicLayout}) to restore the editor-oriented layout. +Use **Panel Layout > Agentic** from the user menu in the title bar (or the {#action workspace::UseAgenticLayout} action) to keep the Threads Sidebar and [Agent Panel](./ai/agent-panel.md) together on the left. Use **Panel Layout > Classic** (or {#action workspace::UseClassicLayout}) to restore the editor-oriented layout. ## How Projects Open @@ -82,7 +82,7 @@ This setting affects CLI and double-click behavior, not the File > Open menu. If you want to add a folder to your current project (not as a separate project in the threads sidebar), you have several options: - **File menu**: File > Add Folder to Project -- **Project panel**: Right-click in the project panel and choose "Add Folders to Project" +- **[Project panel](./project-panel.md)**: Right-click in the project panel and choose "Add Folders to Project" - **Open Recent**: Select a recent project and click the "Add Folder to this Project" button This adds the folder as an additional root in your current project's file tree, similar to VS Code's multi-root workspaces.