|
1 | 1 | ---
|
2 | 2 | title: 'Tips & Tricks for GitHub Copilot Chat in Visual Studio'
|
3 | 3 | description: Use slash commands, references, and threads to form better questions and get better answers with scoped context in GitHub Copilot Chat.
|
4 |
| -ms.date: 7/29/2024 |
| 4 | +ms.date: 8/13/2024 |
5 | 5 | ms.topic: how-to
|
6 | 6 | author: anandmeg
|
7 | 7 | ms.author: meghaanand
|
@@ -56,25 +56,42 @@ You can use slash commands in a [chat window](visual-studio-github-copilot-chat.
|
56 | 56 |
|
57 | 57 | ## <a name="reference"></a>Reference: scope Copilot results to a particular file or entire solution
|
58 | 58 |
|
59 |
| -You can ask your coding related questions in natural language and GitHub Copilot Chat will answer these in the context of the codebase open in Visual Studio. With references you can get more specific about the information you want Copilot to consider when answering your question. By selecting a specific context in your codebase, you're able to form better questions easily without having to write out or paste long pieces of information. Specifying the context also enables Copilot to provide you with more relevant answers. |
| 59 | +You can ask your coding related questions in natural language and GitHub Copilot Chat will answer these in the context of the codebase open in Visual Studio. With references you can get more specific about the information you want Copilot to consider when answering your question. |
60 | 60 |
|
61 |
| -To easily reference a file, simply add a *#* symbol at the beginning of the file name. For example, if you have a file named *BasketService.cs*, refer to it in the chat as *#BasketService.cs*. |
| 61 | +By selecting a specific context in your codebase, you're able to form better questions easily without having to write out or paste long pieces of information. Specifying the context also enables Copilot to provide you with more relevant answers. |
| 62 | + |
| 63 | +### Reference a file |
| 64 | + |
| 65 | +To easily reference a file in GitHub Copilot Chat, simply add a *#* symbol at the beginning of the file name. For example, if you have a file named *BasketService.cs*, refer to it in the chat as *#BasketService.cs*. |
62 | 66 |
|
63 | 67 | :::image type="content" source="media/vs-2022/copilot-chat-context/copilot-chat-context-hash-reference.png" alt-text="Screenshot of references in Copilot Chat.":::
|
64 | 68 |
|
65 |
| -Use *#solution* to refer to the solution active in the IDE for context. |
| 69 | +### Reference a method, class, or function |
| 70 | + |
| 71 | +With Visual Studio 2022 version 17.11, you can now reference a specific method, class, or function in GitHub Copilot Chat. |
| 72 | + |
| 73 | +To easily reference a method, class, or function in GitHub Copilot Chat, simply add a *#* symbol at the beginning of the method, class, or function name. For example, if you have a method named *BasketAddItem*, refer to it in the chat as *#BasketAddItem*. |
66 | 74 |
|
67 |
| -:::image type="content" source="media/vs-2022/copilot-chat-context/copilot-chat-context-hash-solution-reference.gif" alt-text="Screenshot of referencing solution context in Copilot Chat."::: |
| 75 | +:::image type="content" source="media/vs-2022/copilot-chat-context/copilot-chat-references-methods.png" alt-text="Screenshot of references to methods in Github Copilot Chat in Visual Studio."::: |
68 | 76 |
|
| 77 | +### Reference the entire solution |
| 78 | + |
| 79 | +Use *@workspace* to refer to the solution active in the IDE for context. When using *@workspace* for context, Copilot Chat leverages the information about the files, projects, and configurations that are currently open and being worked on within your IDE. This enables Copilot Chat to provide more relevant and context-aware suggestions and answers. |
| 80 | + |
| 81 | +:::image type="content" source="media/vs-2022/copilot-chat-context/copilot-chat-context-at-workspace.gif" alt-text="Screenshot of referencing solution context in Copilot Chat."::: |
| 82 | + |
| 83 | +### Usage examples |
69 | 84 | Here are some examples of using references for context control:
|
70 | 85 |
|
71 | 86 | | **Example** | **Context used by Copilot to form the question** |
|
72 | 87 | |---------------------------|:--------------------:|
|
73 | 88 | | What is the purpose of #MyFile.cs: 66-72?| Exact section of the file |
|
74 | 89 | | Where are the tests in #BasketService.cs?| BasketService.cs |
|
75 |
| -| /explain the AddItemToBasket method in #BasketService.cs| AddItemToBasket method in BasketService.cs | |
76 |
| -| Is there a delete basket method in this #solution| Current Solution open in the IDE| |
77 |
| - |
| 90 | +| /explain the #AddItemToBasket in #BasketService.cs| AddItemToBasket method in BasketService.cs | |
| 91 | +| Is there a delete basket method in this @workspace| Current solution open in the IDE | |
| 92 | +| I have a test method named #TestCalculator. How can I ensure that it's being executed correctly?| TestCalculator method | |
| 93 | +| Could you explain the differences between classes #BasketService and #OrderService?| BasketService class and OrderService class | |
| 94 | +| In my @workspace where is #AddItemToBasket? | Current solution open in the IDE | |
78 | 95 |
|
79 | 96 | ## <a name="find-context"></a>Review the sources used by Copilot Chat
|
80 | 97 |
|
|
0 commit comments