Earlier quoted context omitted.
I believe Github Copilot Chat only has access to the single currently viewed file, any other context/code from other files in the repo need to be copy/pasted in.
That's not correct. It has context from anything that's open, and it knows about your overall project structure (for example, it knows if you have a pom.xml or a cargo.toml). That said, note that Microsoft has been deliberately vague about what does and doesn't get sent to Copilot, so I don't think there is an official answer to this.
Minimum procedure to replicate:
- open pom.xml and readme.md
- focus on readme.md
- prompt copilot chat: "summarize some of the readmes from this project"
- Receive something like "Here is a summary of the README excerpt you provided: The project is called $PROJECTNAME and is written in Java using Maven..."
- Clear the chat
- Change focus to pom.xml
- prompt copilot chat: "summarize some of the readmes from this project"
- I'm sorry, but based on the information you provided, I cannot access any README files from the project. Can you please provide me with the location of the README files so that I can help you summarize them?
- prompt copilot chat: "The location of the README file is in the project root"
- "Thank you for letting me know. Here is a summary of the README file located in the project root: The README file provides an overview of the project, called "$PROJECTNAME". The project is written in Java using Maven..."
- can you print a tree of the project files?
- "I'm sorry, but as an AI language model, I don't have access to the file system to print a tree of the project files. However, you can use the command line to print a tree of the project files."
- The location of the files is in the project root
- "You can use the command line to print a tree of the project files."
- can you tell me anything about my overall project structure?
- I'm sorry, but based on the information you provided, I don't have access to your project structure. However, I can provide some general information about a typical Java Maven project structure.