microsoft / vscode-copilot-release

Feedback on GitHub Copilot Chat UX in Visual Studio Code.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat
Creative Commons Attribution 4.0 International
295 stars 28 forks source link

Feature Request: Enhanced Capabilities for GitHub Copilot #300

Open PierrunoYT opened 1 year ago

PierrunoYT commented 1 year ago

Summary: I would like to request additional features for GitHub Copilot that would enhance its functionality and make it more powerful. Specifically, I propose giving Copilot access to the internet and the ability to create multiple files at once while also understanding the relationship between them.

Description:

  1. Internet Access:

    • Currently, Copilot relies on a pre-trained model to generate code suggestions. However, it would greatly benefit from having access to the internet to fetch real-time information, libraries, and code examples from reputable sources.
    • By incorporating internet access, Copilot could provide more up-to-date and accurate code recommendations based on the latest best practices and community standards.
  2. Multi-file Creation:

    • Copilot's current capability is primarily focused on generating code snippets within a single file. It would be useful if Copilot could expand its functionality to create multiple related files simultaneously.
    • For example, if a user needs to scaffold a web application or a complex software project, Copilot could generate not only the main file but also accompanying files such as configuration files, templates, and utility modules.
  3. Understanding File Relationships:

    • Alongside multi-file creation, it would be beneficial if Copilot could understand the relationships between different files within a project.
    • Copilot should be able to recognize dependencies, imports, and connections between files, allowing it to provide more context-aware and meaningful code suggestions.
    • This enhanced understanding of file relationships would enable Copilot to generate more comprehensive and accurate code snippets that fit seamlessly into the project structure.

Motivation: These proposed enhancements to GitHub Copilot would significantly improve its capabilities and make it an even more valuable tool for developers. Internet access would allow Copilot to tap into a vast array of resources, ensuring it provides modern and reliable code suggestions. The ability to create multiple files and understand their relationships would enable Copilot to assist in large-scale project development, saving developers time and effort.

Thank you for considering this feature request. I believe that implementing these enhancements would make GitHub Copilot an even more indispensable tool for developers worldwide.

Best regards,

Pierre

dertin commented 1 year ago

Internet Access: #299 A limited list of sources of sites where there is relevant documentation could be established.

JetXu-LLM commented 9 months ago

Totally agree! Fully support the idea of adding a feature to Github Copilot Chat that allows it to search the internet during conversations, summarize the latest knowledge, and provide answers. Even if it can only search for new content within GitHub, it would be sufficient to meet the needs.

Sayvai commented 6 months ago

I would also advocate for Copilot to be able to search for more up-to-date sources of data on the internet, whether that could be another slash command or even picking on the keyword latest, dependent on context of the prompt question.

I understand that re-training the model beyond the static September 2021 data can be expensive and time-consuming, but I believe there must be some sort of solution to overcome the rapid evolution of up-to-date frameworks / APIs, as to ensure Copilot suggestions are as accurate as possible over time, keeping in line with such advances in languages and tech stacks.

At the moment, Copilot is not giving me reliable suggestions based on latest API changes and updates, where Copilot fails to suggest the usage of the toSorted() JavaScript array method that was released in ECMAScript 2023 to immutably sort an array. Or the newly recommended approach to force a component to be server-side dynamically rendered in Next.js version 14 API changes using export const dynamic = 'force-dynamic'. Copilot in its current state would fail to suggest these latest and more accurate solutions.

At the moment, it seems like Copilot (OpenAI) is still stuck with data that is cut-off up to September 2021..

Those who do not keep up-to-date of latest API changes would otherwise be given out-of-date, non-optimal suggestions, or at worst no longer working suggestions.

Or for those who generally are aware of and keep up with tech stack / language evolution with a better sense of awareness and skepticism, then they may well have to refer back to Google / StackOverflow / Vendor API Documentation for correct solutions. In such cases, I believe this in part contradicts one of the core goals of Copilot, which is to aim to reduce the need to search / verify for such solutions outside of Copilot, and stay within the context of the Copilot embedded IDE (e.g. VS Code) as much as possible.