Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/rulesets/docs-internal/main-branch-protection.json
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,10 @@
"context": "shielding",
"integration_id": 15368
},
{
"context": "tools",
"integration_id": 15368
},
{
"context": "versions",
"integration_id": 15368
Expand Down
4 changes: 4 additions & 0 deletions .github/rulesets/docs/main-branch-protection.json
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,10 @@
"context": "shielding",
"integration_id": 15368
},
{
"context": "tools",
"integration_id": 15368
},
{
"context": "versions",
"integration_id": 15368
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
- secret-scanning
- shielding
# - tests
# - tools
- tools
# - types
- versions
- webhooks
Expand All @@ -85,7 +85,7 @@ jobs:
env:
# These suites make no HTTP requests, so they skip the Next.js build and test server.
# A suite that adds an HTTP test fails with a connection error until it's removed from this list.
START_VITEST_SERVER: ${{ contains(fromJSON('["color-schemes", "content-linter", "data-directory", "ghes-releases", "journeys", "links", "observability", "products", "workflows"]'), matrix.name) && 'false' || 'true' }}
START_VITEST_SERVER: ${{ contains(fromJSON('["color-schemes", "content-linter", "data-directory", "ghes-releases", "journeys", "links", "observability", "products", "tools", "workflows"]'), matrix.name) && 'false' || 'true' }}

steps:
# Repeat each if on its step so skipped work still leaves the required check present.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Organization-level secrets:

### Limitations and restrictions

For workflows initiated by {% data variables.product.prodname_dependabot %}, the `pull_request_target` event is treated differently to other events. For this event, if the base ref of the pull request was created by {% data variables.product.prodname_dependabot %} (`github.event.pull_request.user.login == 'dependabot[bot]'`):
For workflows initiated by {% data variables.product.prodname_dependabot %}, the `pull_request_target` event is treated differently to other events. For this event, if the base ref of the pull request was created by {% data variables.product.prodname_dependabot %}:

* The workflow receives a read-only `GITHUB_TOKEN`.
* Secrets are **not** available to the workflow.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ For workflows initiated by {% data variables.product.prodname_dependabot %} (`gi
* `GITHUB_TOKEN` has read-only permissions by default.
* Secrets are populated from {% data variables.product.prodname_dependabot %} secrets. {% data variables.product.prodname_actions %} secrets are not available.

For workflows initiated by {% data variables.product.prodname_dependabot %} (`github.actor == 'dependabot[bot]'`) using the `pull_request_target` event, if the base ref of the pull request was created by {% data variables.product.prodname_dependabot %} (`github.event.pull_request.user.login == 'dependabot[bot]'`), the `GITHUB_TOKEN` will be read-only and secrets are not available.
For workflows initiated by {% data variables.product.prodname_dependabot %} (`github.actor == 'dependabot[bot]'`) using the `pull_request_target` event, if the base ref of the pull request was created by {% data variables.product.prodname_dependabot %}, the `GITHUB_TOKEN` will be read-only and secrets are not available.

These restrictions apply even if the workflow is re-run by a different actor.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Validity checks help you prioritize alerts by telling you which secrets are `act

By default, {% data variables.product.company_short %} checks the validity of {% data variables.product.company_short %} tokens and displays the validation status of the token in the alert view.

{% ifversion secret-scanning-validity-check-partner-patterns %}Organizations using {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_secret_protection %}, or {% data variables.product.prodname_ghe_server %} with a license for {% data variables.product.prodname_GH_secret_protection %} can also enable validity checks for partner patterns. For more information, see [Checking a secret's validity](/code-security/tutorials/remediate-leaked-secrets/evaluating-alerts#checking-a-secrets-validity).{% endif %}
{% ifversion secret-scanning-validity-check-partner-patterns %}Organizations using {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_secret_protection %}, or {% data variables.product.prodname_ghe_server %} with a license for {% data variables.product.prodname_GH_secret_protection %} can also enable validity checks for partner patterns. {% endif %}

{% data reusables.secret-scanning.validity-check-table %}

Expand Down
73 changes: 25 additions & 48 deletions content/copilot/concepts/copilot-surfaces/copilot-in-ides.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: GitHub Copilot in IDEs
shortTitle: Copilot in IDEs
intro: 'Get contextual AI assistance from {% data variables.product.prodname_copilot %} throughout your IDE workflow, from exploring an approach to writing, reviewing, and improving code.'
intro: 'Use {% data variables.product.prodname_copilot_short %} in your IDE to get assistance as you code, collaborate with agents, and delegate work locally, in the background, or in the cloud.'
versions:
feature: copilot
defaultTool: vscode
Expand All @@ -14,66 +14,43 @@ redirect_from:
- /copilot/concepts/agents/copilot-in-jetbrains
---

{% data variables.product.prodname_copilot %} integrates with supported IDEs to help you throughout the development process. {% data variables.product.prodname_copilot_short %} can explain concepts, complete code, propose edits, and validate files with agent mode.
{% data variables.product.prodname_copilot %} integrates with supported IDEs to help you throughout the development process. You can work alongside {% data variables.product.prodname_copilot_short %} in your editor, or delegate tasks to agents and review their results.

The available features and entry points vary by IDE. For a detailed comparison, see [AUTOTITLE](/copilot/reference/copilot-feature-matrix).

## How {% data variables.product.prodname_copilot_short %} helps in your IDE
## {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode_shortname %}

You can work with {% data variables.product.prodname_copilot_short %} in three main ways:
{% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode_shortname %} brings AI assistance and agent-driven development into the environment where you write, run, debug, and review code.

* **Code suggestions** help you write and edit code without leaving the editor.
* **Chat** lets you ask questions, explain or refactor code, generate tests, and explore possible solutions.
* **Agentic experiences** can plan and complete multi-step tasks by reading files, editing code, and running commands in your local development environment.
### Benefits of using {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode_shortname %}

These experiences complement each other. For example, you might use chat to understand an unfamiliar codebase, ask an agent to implement a change across several files, and use inline suggestions to refine the result.
* **Stay in your development environment.** Work with agents alongside your editor, terminal, tests, source control, and debugger, so you can inspect and validate results with the tools you already use.
* **Choose how much work to delegate.** Move between code suggestions, focused edits, interactive chat, planning, and autonomous agent work as your task evolves.
* **Work on multiple tasks.** Run isolated agent sessions in parallel and use the Agents window to follow progress across projects.
* **Use the environment your project needs.** Run agents where your code and tools live, whether on your machine or in a connected remote environment, so they work with the right operating system, runtimes, and dependencies.
* **Choose your models and tools.** Use models provided with {% data variables.product.prodname_copilot_short %}, bring your own API key, or add models and tools through {% data variables.product.prodname_vscode_shortname %} extensions.

## Code suggestions
### What you can do with {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode_shortname %}

{% data variables.product.prodname_copilot_short %} can suggest code directly in the editor as you work. Depending on your IDE, these suggestions can include inline suggestions and {% data variables.copilot.next_edit_suggestions %}.
Choose the most appropriate workflow for your task, from getting focused assistance in the editor to delegating work to agents.

### Inline suggestions
* **Code suggestions:** Get suggestions directly in the editor as you work. See [AUTOTITLE](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions).
* **Chat:** Ask questions about your codebase, compare approaches, and plan complex changes using context from your open files and workspace. Use inline chat for quick help within your code. See [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide).
* **Agent mode:** Ask an agent to find relevant code, edit files, run commands, and validate its work, while you review changes and redirect it as it works. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode).
* **Parallel agent sessions:** Start, monitor, and review multiple agent sessions across projects from the Agents window. See [Agents window](https://code.visualstudio.com/docs/agents/run/agents-window) in the {% data variables.product.prodname_vscode_shortname %} documentation.
* **Cloud agent sessions:** Manage {% data variables.copilot.copilot_cloud_agent %} sessions directly from your IDE. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-cloud-agent-in-your-ide).
* **Models and agent harnesses:** Choose a model based on the speed, reasoning, and cost your task needs. Use models included with {% data variables.product.prodname_copilot_short %}, bring your own key (BYOK), or install an extension that provides more models. You can also choose an agent harness. See [AUTOTITLE](/copilot/concepts/models/bring-your-own-key) and [Agent harnesses](https://code.visualstudio.com/docs/agents/run/agent-harnesses) in the {% data variables.product.prodname_vscode_shortname %} documentation.
* **Local, remote, and containerized environments:** Run agents on your machine, in a Dev Container (Experimental), or on a remote machine over SSH or a dev tunnel. You can check progress from the Agents window, including in a browser on another device.
* **Customizations:** Add project-specific context and capabilities with custom instructions, agent skills, hooks, Model Context Protocol (MCP) servers, and extensions.
* **Terminal:** Run {% data variables.copilot.copilot_cli %} in the integrated terminal for a terminal-first agent experience.

Inline suggestions appear as dimmed text at your cursor position. {% data variables.product.prodname_copilot_short %} uses the code around your cursor and other available context to predict what you are likely to write next.
For a full overview, see [Build with AI in VS Code](https://code.visualstudio.com/docs/agents/overview) in the {% data variables.product.prodname_vscode_shortname %} documentation.

Suggestions can complete part of a line, an entire line, or a larger block of code. You can also write a natural-language comment describing the code you want, then let {% data variables.product.prodname_copilot_short %} suggest an implementation.
## Using {% data variables.product.prodname_copilot_short %} in other IDEs

You remain responsible for reviewing and testing suggested code before using it.
For most supported IDEs, the **{% data variables.product.prodname_copilot %} extension or plugin** is the primary entry point. It connects {% data variables.product.prodname_copilot_short %} to your editor and provides the features supported by that IDE. To install the appropriate integration, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension).

### {% data variables.copilot.next_edit_suggestions_caps %}

{% data variables.copilot.next_edit_suggestions_caps %} predict both where you are likely to make your next change and what that change could be. They are based on the edits you are currently making and can help you apply related changes elsewhere in a file.

For example, after you rename a method or change a data structure, {% data variables.product.prodname_copilot_short %} might suggest updating another location affected by that change.

Availability and configuration vary by IDE. For instructions on using inline and next edit suggestions, see [AUTOTITLE](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions).

{% data reusables.copilot.supported-languages %}

## Chat and agentic experiences

{% data variables.copilot.copilot_chat %} provides a conversational interface in your IDE. Because chat can use context from your project, you can ask questions about selected code, open files, or your wider codebase.

You can use chat to:

* Explain unfamiliar code.
* Suggest fixes for bugs.
* Refactor or document code.
* Generate tests.
* Compare implementation approaches.
* Answer questions about programming languages and development tools.

For larger tasks, an agentic experience can break your request into steps and use tools to complete the work. Depending on your IDE and configuration, an agent can inspect your project, edit multiple files, run terminal commands, and respond to errors encountered while working.

Agentic changes are made in your local development environment. Review the proposed changes and the output of any commands before accepting the result.

For instructions on using chat and agents, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide).

## Choosing an entry point

For most IDEs, the **{% data variables.product.prodname_copilot %} extension or plugin** is the primary entry point. It connects {% data variables.product.prodname_copilot_short %} directly to your editor and provides the features supported by that IDE. You can install the appropriate integration by following [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension).

You can also run **{% data variables.copilot.copilot_cli %}** in an IDE's integrated terminal if the terminal environment meets the requirements for {% data variables.copilot.copilot_cli_short %}. Integration between CLI sessions and the IDE varies.
You can also run {% data variables.copilot.copilot_cli %} in an IDE's integrated terminal if the terminal environment meets the requirements for {% data variables.copilot.copilot_cli_short %}. Integration between CLI sessions and the IDE varies.

### Entry points in JetBrains IDEs

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: GitHub Copilot app
shortTitle: GitHub Copilot app
intro: 'The {% data variables.copilot.github_copilot_app %} is a desktop application for agent-driven development that brings parallel workstreams, {% data variables.product.github %} integration, and PR lifecycle management into one place.'
product: '{% data reusables.gated-features.github-app %}<br><a href="https://github.com/features/ai/github-app" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Download the {% data variables.copilot.github_copilot_app %}</span> {% octicon "link-external" height:16 %}</a>'
product: '{% data reusables.gated-features.github-app %}<br>{% data reusables.copilot.github-app-download-button %}'
versions:
feature: copilot
contentType: concepts
Expand Down
7 changes: 4 additions & 3 deletions content/copilot/get-started/quickstart-copilot-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Getting started with the GitHub Copilot app
shortTitle: Copilot app quickstart
allowTitleToDifferFromFilename: true
intro: 'Sign in to the {% data variables.copilot.github_copilot_app %}, connect a repository or local folder, and create your first agent session to make code changes.'
product: '{% data reusables.gated-features.github-app %}<br><a href="https://github.com/features/ai/github-app" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Download the {% data variables.copilot.github_copilot_app %}</span> {% octicon "link-external" height:16 %}</a>'
product: '{% data reusables.gated-features.github-app %}<br>{% data reusables.copilot.github-app-download-button %}'
versions:
feature: copilot
contentType: get-started
Expand Down Expand Up @@ -35,8 +35,9 @@ In this quickstart, you will:

## Installing the {% data variables.copilot.github_copilot_app %}

1. Visit the [download page for the {% data variables.copilot.github_copilot_app %}](https://github.com/features/ai/github-app).
1. Download the app for your platform.
Download and install the {% data variables.copilot.github_copilot_app %} for your operating system. For other operating systems and architectures, see the [download page](https://github.com/features/ai/github-app).

{% data reusables.copilot.github-app-download-button %}

## Opening the {% data variables.copilot.github_copilot_app %} for the first time

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ category:

This guide demonstrates how to get coding suggestions from {% data variables.product.prodname_copilot %} in a JetBrains IDE. To see instructions for other popular coding environments, use the tool switcher at the top of the page.

{% data reusables.copilot.supported-languages %}

The examples in this guide use Java, however other languages will work similarly.

For more information, see [AUTOTITLE](/copilot/concepts/copilot-surfaces/copilot-in-ides#code-suggestions).
Expand Down Expand Up @@ -221,7 +223,7 @@ To enable comment suggestions, you need to configure the comment style in {% dat
1. Under the **Code Style** heading, click **General**.
1. Under "Comments," select **Xml Doc Comments** from the dropdown.
1. Select **Insert existing comment style at the start of new lines when writing comments** and **Continue single line comments.** Then click **OK**.
1. In the **Options** tab, in the left-side panel, click **GitHub**.
1. In the **Options** tab, in the left-side panel, click **GitHub**.
1. Click **Copilot**, then **Editor**.
1. Select **Enable AI generated descriptions for auto-inserted documentation comments in supported languages**.

Expand All @@ -231,7 +233,7 @@ To enable comment suggestions, you need to configure the comment style in {% dat
1. In the left-side panel, click **Languages**.
1. Click **C#**, then **More Settings**, then **Advanced**.
1. Under "Comments," select **Generate XML documentation comments for ///**, **Insert // at the start of new lines when writing // comments**, and **Insert \* at the start of new lines when writing /\* \*/ comments.** Then click **OK**.
1. In the **Options** tab, in the left-side panel, click **GitHub**.
1. In the **Options** tab, in the left-side panel, click **GitHub**.
1. Click **Copilot**, then **Editor**.
1. Select **Enable AI generated descriptions for auto-inserted documentation comments in supported languages**.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Working with agent sessions in the GitHub Copilot app
shortTitle: Agent sessions
intro: 'Run multiple isolated agent sessions simultaneously, each with its own branch, and steer them using different session modes, models, and tools.'
allowTitleToDifferFromFilename: true
product: '{% data reusables.gated-features.github-app %}<br><a href="https://github.com/features/ai/github-app" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Download the {% data variables.copilot.github_copilot_app %}</span> {% octicon "link-external" height:16 %}</a>'
product: '{% data reusables.gated-features.github-app %}<br>{% data reusables.copilot.github-app-download-button %}'
versions:
feature: copilot
contentType: how-tos
Expand Down
Loading
Loading