Continue Bug Report: A Comprehensive Guide
Hey guys! Reporting bugs is super important for making Continue better. This guide will walk you through everything you need to know to submit a helpful bug report. Let's dive in and make sure those pesky bugs get squashed!
Before Submitting Your Bug Report
Before you jump into submitting a bug report, there are a few things you should check off your list. These steps can save you time and might even solve the issue without needing to file a report.
- Check the Continue Docs: First off, have you tried using the "Ask AI" feature on the Continue docs site? The documentation is packed with answers, and you might find a solution there. Seriously, give it a shot!
- Join the Continue Discord: Still stumped? Hop over to the Continue Discord. It's a great place to ask questions and get help from the community and the Continue team. Plus, you'll get to hang out with other cool developers!
- Search for Open Issues: Before you assume you've found a brand-new bug, take a look at the open issues on GitHub. Someone else might have already reported the same problem. If you find a match, you can add your info to the existing issue.
- Read the Troubleshooting Guide: Last but not least, check out the troubleshooting guide on the Continue Docs. It covers a lot of common issues and solutions. Don't skip this step!
Following these steps ensures that you've exhausted all the readily available resources before submitting a bug report. This not only helps you find quicker solutions but also reduces duplicate bug submissions, making the development process smoother for everyone involved.
Relevant Environment Info
Providing detailed environment information is crucial for developers to understand and reproduce the bug you're experiencing. Here’s what you need to include:
- Operating System (OS): Specify the OS you're using (e.g., Windows 10, macOS Monterey, Ubuntu 20.04). Include the version number.
- Continue Version: Mention the exact version of Continue you're running. This helps developers pinpoint if the bug is version-specific.
- IDE Version: State the version of your Integrated Development Environment (IDE) (e.g., VS Code 1.60.0, PyCharm 2021.3). Different IDEs can sometimes interact differently with Continue.
- Model: Specify the language model you are using with Continue. This could be a specific version of GPT-3, GPT-4, or any other model.
- Configuration (Config): Include your Continue configuration settings. You can either paste the relevant section of your
config.jsonfile or provide a link to your agent in the Continue hub if you’re using one. Be sure to remove any sensitive information like API keys!
- OS:
- Continue version:
- IDE version:
- Model:
- config:
OR link to agent in Continue hub:
This information gives the development team a clear picture of your setup, allowing them to replicate the issue more effectively. The more detailed you are, the faster they can identify and fix the bug.
Description
The description section is where you explain the bug in detail. A well-written description can make a huge difference in how quickly the issue is understood and resolved. Here's how to write a stellar bug description:
- Be Clear and Concise: Start by clearly stating what the bug is. Avoid jargon and be as straightforward as possible. Imagine you're explaining it to someone who's not super familiar with the project.
- Explain the Expected Behavior: Describe what should have happened. This provides a baseline for understanding the deviation caused by the bug. For example, "When I click the 'Save' button, the file should save without errors."
- Describe the Actual Behavior: Detail what actually happened instead. Be specific about the error messages, unexpected outcomes, or any other deviations from the expected behavior. For example, "Instead, I get an error message saying 'Failed to write file,' and the file is not saved."
- Provide Context: Include any relevant context that might help in understanding the bug. This could include the specific file you were working on, the steps you took before encountering the bug, or any other relevant information.
- Use Formatting: Use bullet points, numbered lists, and code blocks to make your description easier to read. This helps break up the text and highlights important information.
Example of a good description:
""" When attempting to save a file in VS Code with Continue enabled, I encountered an error.
Expected Behavior:
- The file should save without any errors.
Actual Behavior:
- An error message appears: 'Failed to write file.'
- The file is not saved.
Steps to Reproduce:
- Open VS Code.
- Create a new file.
- Write some text.
- Click 'Save.' """
Remember, a clear and detailed description is your best tool for helping developers understand and fix the bug. Put in the effort to make it as informative as possible!
To Reproduce
The "To Reproduce" section is where you provide a step-by-step guide on how to make the bug happen again. This is super important because developers need to be able to see the bug for themselves to fix it. Here’s how to write clear and effective reproduction steps:
- Start from the Beginning: Begin with the initial conditions or setup required before the bug can occur. For example, "Open VS Code with the Continue extension enabled" or "Create a new Python project."
- Be Detailed: List each step explicitly. Don't assume anything is obvious. Include every action, click, and input required to reach the bug.
- Use Numbered Lists: Numbered lists make it easy to follow each step in the correct order. This helps ensure that anyone can reproduce the bug consistently.
- Include Specific Inputs: If the bug involves specific inputs or data, provide those details. For example, "Enter the following code:
print('Hello, world!')" or "Use the file 'example.txt' with the following content…" - Test Your Steps: Before submitting the bug report, try following your own steps to make sure they work and that the bug occurs as expected. This can help you catch any missing or unclear steps.
Example of reproduction steps:
""" Steps to Reproduce:
-
Open VS Code with the Continue extension enabled.
-
Create a new Python file named
test.py. -
Enter the following code:
def add(a, b): return a + b print(add(2, 3)) -
Run the file.
-
Observe the output. """
By providing clear and accurate steps, you make it much easier for developers to reproduce the bug and find a solution quickly. Take the time to write them carefully!
Log Output
The log output is a goldmine of information for debugging. It contains detailed records of what's happening behind the scenes, including error messages, warnings, and other diagnostic information. Here’s how to collect and include relevant log output:
- Locate the Logs: The location of the logs can vary depending on the IDE and the Continue setup. Check the Continue documentation or your IDE settings for the exact location. Common places include the IDE's console, a dedicated log file, or a specific directory.
- Capture Relevant Logs: Focus on capturing the logs that are relevant to the bug you’re reporting. This usually means the logs generated around the time the bug occurred. Avoid including irrelevant logs, as this can make it harder to find the important information.
- Include Error Messages: Error messages are particularly valuable. They often provide clues about the cause of the bug. Make sure to include the full error message, including any stack traces or additional details.
- Use Code Blocks: When including log output in your bug report, use code blocks to format it correctly. This preserves the formatting and makes it easier to read. Use triple backticks (```) to create a code block.
Example of including log output:
"""
2024-07-24 10:00:00,000 - ERROR - An error occurred:
Traceback (most recent call last):
File "/path/to/continue/file.py", line 10, in function_name
raise ValueError("Invalid input")
ValueError: Invalid input
"""
Including the log output can significantly speed up the debugging process. It provides developers with a detailed view of what’s happening under the hood, helping them pinpoint the root cause of the bug.
By following these guidelines, you can submit bug reports that are clear, detailed, and actionable. This not only helps the developers fix the bugs more efficiently but also contributes to making Continue a better tool for everyone. Happy coding!
For more information on debugging and troubleshooting, check out Stack Overflow.