R34 - SmartCode chat supports #variables, Devi public preview

Release Date:2024.09.14
This update adds chat variable support to SmartCode and releases a public preview of the Devi database agent, as well as several other bug fixes and improvements.

Key features and improvements

1. SmartCode VSCode chat supports #variables

This update to SmartCode adds support for chat variables, which are used to reference code snippet in IDE, providing users with a more flexible way to organize prompts. Three variables are provided in this release:

  • #selection: reference code selected in the current active editor
  • #editor:reference any code block in the current active editor
  • #file:selecting files as reference

By using chat variables, developers can implement some previously difficult-to-implement prompts, such as: Developers can refer to a file content with the following prompts, and ask the AI to generate code based on the reference. The example is as follows:

  • Refer to #file:BankTransactionController.java generate API documentation and output using standard markdown format.
  • Refer to #file:Dockerfile write a docker-compose.yaml and set the external port to 8090, and map the logs to the local path
  • Analysis #selection ,focusing on possible code security issues and providing solutions and sample code

Users can also combine the above variables to create more complex prompts, such as:

  • Refer to #file:api_reference.yaml,fix the logic in the following code #selection
  • Refer to #editor:model.py77-89,generate 10 unit tests to cover as many scenarios as possible

The following video demonstrates the process of code explaination in Japanese using the #selection variable

The following video demonstrates the process of using the #file variable to reference the entire file and guide the AI to summarize the file content

The following video demonstrates the process of using the #file variable to reference an API entry file and generate documentation.

This update only implements the above capabilities in VSCode. In future versions, we will implement the above capabilities in the JetBrains plugin.

2. Devi for GitHub Copilot Public Preview

Devi is your AI agent building blocks. Building agentic workflow with generative AI is a new and innovative area, developers need to build many low level basic components before they can readlly focus on the actual valuable workflow. We want to simplify the complexity of this process by building a set of common AI agent components.

GitHub Copilot 插件

Devi for GitHub Copilot is a series of AI agents built on the GitHub Copilot ecosystem. Devi provides the atomic capabilities of these agents and provides services to developers through GitHub Copilot Chat. Developers can install the Devi extension through the Visual Studio Marketplace, and then use the @devi in GitHub Copilot Chat to implement out-of-the-box capabilities of the DB agent, such as: database conversations, Text2SQL, database document generation, etc.

  • Devi for GitHub Copilot
  • Or you can search for’Devi’ installation through the Visual Studio Code extension tool.

For more information on how to use Devi for GitHub Copilot, please refer to Devi for GitHub Copilot 操作手册

Demo Video

Devi NPM Package

Devi NPM Package provids the atomic capabilities of an AI agent, developers can install the Devi Package through NPM and then use the capabilities provided by Devi in your own applications.

Devi for GitHub Copilot 特性说明

开发者在GitHub Copilot Chat中使用 @devi 调用 代维DB智能体实现如下能力:

Chat with your Database

Automatically identify the database structure and allow users to ask questions about the database in natural language, e.g.:

  • What is this database used for?
  • Which database objects are related to each other?

DB Query with Natural Language (Text2SQL)

Generate database queries with natural language (Text2SQL), users can use natural language to ask questions, and @devi will generate SQL statements based on the database schema,e.g.:

  • Help me generate a summary query of all apps and the corresponding number of reviews
  • Help me generate a list of all users with the most reviews, with descending order

Database Document Generation

Generate standard database documents via built-in @devi /docs <table_name> shortcuts

Other updates

  1. Enhancement AI Base Service - Avoiding multiple post requests on the same UI in dashboard, significantly improving the response speed of the dashboard and improving the user experience
  2. Fix AI Base Service - The problem that the list is not displayed because the picture is not uploaded in the OAuth2 configuration page
  3. Enhancement Handbook/Website - Allows control of video sources through whitelisting, saving public server traffic
  4. Enhancement SmartCode - Show friendly message when the user does not have permission to access the current code completion model
  5. Enhancement SmartCode Jetbrains - When the user opens multiple JetBrains windows at the same time, the automatic update cannot be completed. Now the plug-in side will give a friendly prompt, prompting the user to close the window before upgrading.
  6. Fix SmartCode JetBrains - Fix the error caused by the IDE service not starting during the plug-in loading process, improve the stability and reliability of the plug-in loading
  7. Fix SmartCode JetBrains - Optimize and solve the memory overflow problem in the process of code parsing using tree-sitter, and improve the stability and performance of plug-in dynamic parsing of code.