Large Language Models (LLMs) have revolutionized the way we interact with technology - software development included. It's commonplace to have LLM tools proofread, suggest, autocomplete, and even write code for us. As technology advances, so must our tools. That's why we're excited to announce the arrival of the Deephaven GitHub Copilot extension.
The extension gives direct access to expert-level support for Deephaven, allowing it to accurately and intelligently review, generate, and suggest code for Deephaven queries. Whether you're a beginner or an experienced developer, this extension enhances your coding experience by providing tailored assistance and insights specific to Deephaven's capabilities.
GitHub Copilot
Since June 2021, GitHub Copilot has been a great tool for developers. It provides AI-powered code suggestions, autocompletion, review, and more. It's one of many LLM tools developers use to improve their productivity, code quality, and efficiency.
GitHub Copilot alone is not trained on specific APIs like Deephaven's. It can help write standard code in a variety of languages but won't understand specific libraries or frameworks without additional context. For this reason, we've created our own extension for GitHub Copilot.
Features
GitHub Copilot boasts features typical of LLMs, such as:
- Code completion: Provide suggestions as you type, helping write code faster.
- Code generation: Generate code snippets based on comments, prompts, or existing code.
- Code review: Proofread, refactor, and suggest improvements to existing code.
- Natural language queries: Generate code based on natural language descriptions.
- Summarize documentation: Condense documentation into succint summaries, reducing the time spent learning concepts.
The Deephaven GitHub Copilot extension brings all of these features to the Deephaven development experience.
Get started
Getting started with the extension is easy! Follow these two steps:
-
Install GitHub Copilot: Head to github.com/features/copilot to install Copilot. Any plan works from free to enterprise.
-
Install the Deephaven Copilot extension: Head to github.com/apps/deephaven and click the Install button. Follow the instructions, and you're up and running!
This blog provides examples of using the extension from both GitHub directly and from two IDEs supported by Copilot - Microsoft Visual Studio Code and JetBrains IntelliJ IDEA. Use the extension however you see fit!
Usage
You can use the Deephaven GitHub Copilot extension in two different ways. Regardless of how you use it, preface your queries with @deephaven
to let Copilot know you're looking for Deephaven-specific answers.
GitHub
You can use Copilot from GitHub directly. At the top right of the webpage is the Copilot icon (highlighted in red):
This opens a chat window at the bottom right of the page:
You can also head directly to github.com/copilot to start using Copilot in a chat interface that takes up the full page:
Any supported IDE
Once you've installed your IDE of choice and the Copilot plugin, you can use the extension from the IDE.
Here's a screenshot of the plugin in action in VS Code:
Here's a screenshot of the plugin in action in JetBrains:
Examples
The following examples only touch on some of the ways you can make the most of this tool. Experiment for yourself to see how it can help you with your Deephaven queries and development!
Knowledge reference
Copilot is a great tool for learning about core concepts. For example, ask Deephaven about the difference between a Dynamic Table Writer and a Table Publisher:
Natural language queries
Have it write entire queries for you based on natural language descriptions. For example, ask it to write code that creates a ticking table with sine and cosine waves. Not only do you get the code, you also get an explanation and a plot to show that it works as intended:
Semantic search of documentation and code
Want a succinct summary of documentation and/or source code? Just ask! For example, ask it to point you to the documentation on a Table iterator. Not only do you get the link to the documentation, it also provides a summary:
File context
The tool has file context, meaning you can ask it to review, generate, or critique code based on file input, the current selection, what's in the editor, and more. For example, here's Copilot explaining this query:
Reach out
Have any questions, feedback, or suggestions for us? Reach out on Slack!