Gemini 2.0 Pro Experimental 02-05 - Grounded w/ Search - Makes up links

For some reason, it keeps coming back with links to things that don’t exist out there. Any way to clean it up or make it verify it’s links?

Prompt:

Can you help me fill out the remainder of this table?

| **#** | **Feature**                               | **Copilot**                                                                                                                                                                                           | **JB AI**                                                                                                                                           | **Cursor**                                                                                                                          |
|-------|-------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
| 1     | **Generative Code AI**                    | ✅ [Copilot Edits](https://code.visualstudio.com/docs/copilot/copilot-edits)                                                                                                                          | ❌                                                                                                                                                   | ✅ [Composer – Normal Mode](https://docs.cursor.com/composer/overview#normal)                                                       |
| 2     | **Code Completion**                       | ✅ [Using Code Completion](https://docs.github.com/en/copilot/using-github-copilot/getting-started-with-github-copilot#using-code-completion)                                                         | ✅ [Inline Code Completion](https://www.jetbrains.com/help/idea/use-ai-in-editor.html#enable-inline-code-completion)                                | ✅ [Cursor Tab Completion](https://docs.cursor.com/tab/overview)                                                                     |
| 3     | **Code Explanation**                      | ✅ [Copilot Chat](https://code.visualstudio.com/docs/copilot/copilot-chat)                                                                                                                            | ✅ [Explain Code](https://www.jetbrains.com/help/idea/use-prompts-to-explain-and-refactor-your-code.html)                                           | ✅ [Chat](https://docs.cursor.com/chat/overview)                                                                                     |
| 4     | **AI Chat**                               | ✅ [Copilot Chat](https://code.visualstudio.com/docs/copilot/copilot-chat)                                                                                                                            | ✅ [AI Assistant Chat](https://www.jetbrains.com/help/idea/chat-with-ai.html)                                                                       | ✅ [Chat](https://docs.cursor.com/chat/overview)                                                                                     |
| 5     | **Automated Debugging**                   | ✅ [Debugging with Copilot](https://learn.microsoft.com/en-us/visualstudio/debugger/debug-with-copilot?view=vs-2022)                                                                                  | ❌                                                                                                                                                   | ❌                                                                                                                                  |
| 6     | **Documentation Generation**              | ✅ [Copilot Chat](https://code.visualstudio.com/docs/copilot/copilot-vscode-features#_generate-documentation)                                                                                         | ✅ [Generate Documentation](https://www.jetbrains.com/help/rider/Generate_documentation.html)                                                       | ✅ [Composer Documentation](https://docs.cursor.com/composer/overview)                                                                 |
| 7     | **Test Generation**                       | ✅ [Copilot Chat](https://code.visualstudio.com/docs/copilot/copilot-vscode-features#_generate-tests)                                                                                                  | ✅ [Generate Tests](https://www.jetbrains.com/help/rider/Generate_tests.html)                                                                       | ✅ [Composer](https://docs.cursor.com/composer/overview)                                                                               |
| 8     | **Code Translation**                      | ✅ [Copilot Chat](https://code.visualstudio.com/docs/copilot/copilot-chat)                                                                                                                            | ✅ [Explain Code…then translate](https://www.jetbrains.com/help/rider/Convert_files_to_another_language.html)                                        | ✅ [Composer](https://docs.cursor.com/composer/overview)                                                                               |
| 9     | **Context-Aware Assistance**              | ✅ [Copilot Workspace Context](https://code.visualstudio.com/docs/copilot/workspace-context)                                                                                                            | ✅ [Context Awareness](https://www.jetbrains.com/help/rider/Chat_with_AI.html#using-llm-retrieve-context)                                           | ✅ [Context](https://docs.cursor.com/context/codebase-indexing)                                                                        |
| 10    | **Natural Language Prompts**              | ✅ [Chat/Edits/Agent](https://code.visualstudio.com/docs/copilot/copilot-chat)                                                                                                                        | ✅ [Chat](https://www.jetbrains.com/help/idea/chat-with-ai.html)                                                                                    | ✅ [Chat/Composer](https://docs.cursor.com/chat/overview)                                                                              |
| 11    | **Security Vulnerability Detection**      | 🚧 [Copilot Autofix](https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning)                                                      | ❌                                                                                                                                                   | ❌                                                   |
| 12    | **Task Planning**                         | 🚧 [Copilot Workspace](https://github.blog/news-insights/product-news/github-copilot-workspace/)                                                                                                      | ❌                                                                                                                                                   | ❌                                                                                                                                  |
| 13    | **Full Development Environment Access**   |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 14    | **Custom Tool Creation**                  |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 15    | **Voice-to-Code**                         |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 16    | **Automated Commits**                     |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 17    | **Naming Suggestions**                    |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 18    | **Prompt Library**                        |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 19    | **Model Choice**                          |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 20    | **Predictive Multi-Line Edits**           |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 21    | **AI-Driven Code Planning**               |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 22    | **Agentic Coding Experience**             |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 23    | **Vision**                                |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 24    | **Web RAG Context**                       |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 25    | **URL Context**                           |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 26    | **Commit Context**                        |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 27    | **Symbol Context**                        |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 28    | **PR Review**                             |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 29    | **Workspace Indexing**                    |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |
| 30    | **Enterprise Codebase Understanding**     |                                                                                                                                                                                                       |                                                                                                                                                      |                                                                                                                                     |

The goal of this document is two-fold:

  1. Help individuals evaluate these three AI tools (i.e., have I tried all the features yet?)
  2. Help the business make an educated decision between the three tools

Here is a description of the features:

| **Feature**                          | **Description**                                                                                                                                                                                                                                                                                                                                                           |
|--------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Code Completion**                  | Offers single and multi-line code suggestions as the user types, predicting the most likely code continuations based on context, syntax, and coding style. This includes completing function calls, variable names, and entire code blocks.                                                                                                                                |
| **Predictive Multi-Line Edits**      | Predicts and suggests multi-line code modifications based on your current context. It goes beyond simple insertions by proactively suggesting changes around your cursor, anticipating your refactoring or editing goals. Leverages recent changes and linter errors for improved accuracy. NOTE: This is pretty close to ‘Code Completion’ but feels different enough to list separately. |
| **Generative Code AI**              | Empowers developers to rapidly expand and evolve their codebase with AI assistance. Users can describe desired features or functionalities, and the AI generates not only modifications to existing code but also entirely new code structures, files, and tests, and unlimited output. This allows for accelerated feature development and code expansion.                      |
| **Code Explanation**                 | Provides natural language explanations of code blocks, functions, or entire files. Helps users understand the purpose, logic, and functionality of code, whether it’s their own code, legacy code, or code from external sources. May also explain regular expressions, SQL queries, and other specialized code formats.                                                      |
| **AI Chat**                          | An integrated chat interface within the IDE or editor. Allows users to ask questions about their codebase, request code modifications, get explanations, generate documentation, and interact with the AI assistant in a conversational manner. May include features like intent detection and codebase indexing.                                                         |
| **Automated Debugging**             | Identifies potential errors, bugs, and vulnerabilities in code. Suggests fixes and provides explanations for the detected issues. May integrate with the IDE’s debugger to step through code and highlight problematic areas. The most sophisticated tools can fix bugs across multiple files.                                                                   |
| **Documentation Generation**         | Automatically generates documentation for code, including function/method comments, class documentation, and API documentation. Can save developers time and effort in creating and maintaining up-to-date documentation.                                                                                                                                                |
| **Test Generation**                  | Automatically creates unit tests, integration tests, or other types of tests based on the existing codebase. Can help improve code coverage and identify potential regressions.                                                                                                                                                                                           |
| **Code Translation**                 | Converts code from one programming language to another. Can assist in migrating codebases or understanding code written in unfamiliar languages.                                                                                                                                                                                                                            |
| **Context-Aware Assistance**         | Provides code suggestions, explanations, and other assistance that is tailored to the specific context of the user’s current project, including the surrounding code, project structure, and coding conventions.                                                                                                                                                           |
| **Natural Language Prompts**         | Allows users to describe desired code functionality in natural language, and the AI will attempt to generate the corresponding code. This can range from simple requests (“create a function to sort a list”) to more complex instructions.                                                                                                                                |
| **Security Vulnerability Detection** | Analyzes code for potential security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and other common security flaws. Provides warnings and suggestions for remediation.                                                                                                                                                                               |
| **Task Planning**                    | Before generating code, the AI develops a plan outlining the steps it will take to accomplish the user’s request. This plan is often presented for review and approval—a key capability for “autonomous agent” coding tools.                                                                                                                                               |
| **Full Development Environment Access** | The AI has access to the entire development environment, including files, terminal, and browser. This allows it to execute commands, run tests, and interact with external resources. Another capability of more autonomous coding tools.                                                                                                                              |
| **Custom Tool Creation**             | Enables users to create their own custom tools and extensions for the AI coding assistant, tailoring its functionality to specific needs and workflows. May involve a specialized protocol or API for integrating custom tools.                                                                                                                                             |
| **Voice-to-Code**                    | Translates spoken language into code, supporting voice commands for code creation.                                                                                                                                                                                                                                                                                        |
| **Automated Commits**               | Creates Git commit messages that summarize the changes made to the code, with options for customization.                                                                                                                                                                                                                                                                   |
| **Naming Suggestions**              | Proposes informative and contextually relevant names for variables, functions, classes, and other code elements, following best practices and project conventions.                                                                                                                                                                                                         |
| **Prompt Library**                   | Allows users to save and reuse frequently used natural language prompts, enabling quick access to common coding tasks and customizations.                                                                                                                                                                                                                                  |
| **Model Choice**                     | Allows selection of LLM models and providers, as well as local models.                                                                                                                                                                                                                                                                                                     |
| **AI-Driven Code Planning**          | Before making code changes, the AI generates a detailed plan outlining the steps it will take. This plan is presented to the user for review, modification, and approval. This ensures transparency and allows the user to control the AI’s actions.                                                                                                                         |
| **Agentic Coding Experience**        | Given a high-level goal, the AI can search the codebase for relevant files and make changes. After making edits based on user prompts, it runs linters and tests, fixing style errors or failed tests automatically. Often given full access to the terminal, browser, and codebase. Developers are usually prompted to approve each action. Major opportunity for combining multiple AI capabilities.              |
| **Vision**                           | A developer can upload images, and the AI chat will suggest code or design changes based on the image.                                                                                                                                                                                                                                                                     |
| **Web RAG Context**                  | Allows the AI to access and incorporate information from public web pages (documentation, articles, etc.) into its responses. Provide a URL, and the AI can use the content as context for answering questions or generating code.                                                                                                                                        |
| **URL Context**                      | Enables the AI to understand the content of a pasted URL within the chat. The AI can fetch and analyze the linked page, using it as context.                                                                                                                                                                                                                                                                     |
| **Commit Context**                   | Quickly adds context from specific Git commits to the AI’s understanding. By referencing a commit (e.g., `@git`), the AI can access the changes made in that commit, aiding in code history understanding and relevant suggestions.                                                                                                                                        |
| **Symbol Context**                   | Allows direct referencing of code definitions (functions, classes, variables) within the current codebase in prompts. The AI automatically includes the relevant code definition in its context, simplifying queries about specific code elements.                                                                                                                        |
| **PR Review**                        | Automates pull request reviews inside your DevOps platform (i.e., GitHub, Azure DevOps, etc.).                                                                                                                                                                                                                                                                            |
| **Workspace Indexing**               | Provides a pre-indexed, context-aware coding environment (e.g., GitHub Workspaces). This allows faster code suggestions/responses because the AI already has a deep understanding of the entire repository.                                                                                                                                                                 |
| **Enterprise Codebase Understanding** | Enables the AI to provide highly relevant suggestions and answers based on your organization's specific coding styles, patterns, and internal libraries.                                                                                                                                                                                                                  |

For each feature, we need to:

  1. Search the internet to see if it’s supported by that tool
  2. Document whether or not it’s supported (:white_check_mark: - Supported; :construction: - In Preview; :x: - No supported)
  3. For any supported feature, we need to provide a link to the documentation for that particular feature.

Let’s work one row at a time. One column at a time.

Research it, give me what you think, and I’ll approve it. Then, we’ll add it to the document.

Do not proceed to the next column before getting approval. Do not skip columns. Do not skip rows.

Let’s go ahead and start with (Row 13; Copilot)