Skip to main content

GitHub Copilot– Reusable prompts files

Yesterday I talked about custom instructions as a general way to influence the behavior of Github Copilot in multiple contexts(coding, testing, reviewing, ...) in VS Code. With prompt files you can go one step further, and provide specific instructions for a task.

Let’s give this feature a try.

Active the prompts file feature

First we need to activate this feature:

  • Go to File –> Preferences –> Settings.
  • Search for Chat and look for the Prompt files setting.
  • Click on the Edit in settings.json link.

  • The settings.json file is opened with a new chat.promptFiles setting already added.
  • Change the value to true. Now VSCode will look for prompt files in the .github/prompts folder.

 

    Creating a prompt file

    Now we are ready to add one or more prompts file to the .github/prompts folder.

    For every task you should create a separate Markdown prompt file.

    Remark: It is possible to reference other files inside your Markdown prompt file as well:

    Using a prompt file

    Now we can use our newly created prompt files.

    • Open the VSCode Copilot Chat window:

     

    • Select the Attach Context icon (Ctrl+/), and then select Prompt....

     

    • Choose a prompt file from the Quick Pick to attach it to your chat request.

     

    • Now we can either directly send the prompt or include other instructions.

     

    More information

    Custom instructions for GitHub Copilot in VS Code

    Popular posts from this blog

    .NET 8–Keyed/Named Services

    A feature that a lot of IoC container libraries support but that was missing in the default DI container provided by Microsoft is the support for Keyed or Named Services. This feature allows you to register the same type multiple times using different names, allowing you to resolve a specific instance based on the circumstances. Although there is some controversy if supporting this feature is a good idea or not, it certainly can be handy. To support this feature a new interface IKeyedServiceProvider got introduced in .NET 8 providing 2 new methods on our ServiceProvider instance: object? GetKeyedService(Type serviceType, object? serviceKey); object GetRequiredKeyedService(Type serviceType, object? serviceKey); To use it, we need to register our service using one of the new extension methods: Resolving the service can be done either through the FromKeyedServices attribute: or by injecting the IKeyedServiceProvider interface and calling the GetRequiredKeyedServic...

    Azure DevOps/ GitHub emoji

    I’m really bad at remembering emoji’s. So here is cheat sheet with all emoji’s that can be used in tools that support the github emoji markdown markup: All credits go to rcaviers who created this list.

    Kubernetes–Limit your environmental impact

    Reducing the carbon footprint and CO2 emission of our (cloud) workloads, is a responsibility of all of us. If you are running a Kubernetes cluster, have a look at Kube-Green . kube-green is a simple Kubernetes operator that automatically shuts down (some of) your pods when you don't need them. A single pod produces about 11 Kg CO2eq per year( here the calculation). Reason enough to give it a try! Installing kube-green in your cluster The easiest way to install the operator in your cluster is through kubectl. We first need to install a cert-manager: kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.5/cert-manager.yaml Remark: Wait a minute before you continue as it can take some time before the cert-manager is up & running inside your cluster. Now we can install the kube-green operator: kubectl apply -f https://github.com/kube-green/kube-green/releases/latest/download/kube-green.yaml Now in the namespace where we want t...