Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #1

Closed
wants to merge 20 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ vsc-extension-quickstart.md
**/.eslintrc.json
**/*.map
**/*.ts
.github/**
docs/**
images/**
temp/**
!images/ai-logo.png
Expand Down
112 changes: 55 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h3 align="center"><img src="images/ai-logo-in.png" height="64"><br>SmartVscode: Controlling anything of Vscode by natural language</h3>
<h3 align="center"><img src="images/ai-logo-in.png" height="64"><br>SmartVscode: Controlling VS Code by natural language</h3>

<div align="center">

Expand All @@ -11,7 +11,7 @@


## News
- <img src="https://img.alicdn.com/imgextra/i3/O1CN01SFL0Gu26nrQBFKXFR_!!6000000007707-2-tps-500-500.png" alt="new" width="30" height="30"/>**[2024-06-27]** We have now released the **SmartVscode** v1.0 version, it is based on [App-Controller](https://github.com/alibaba/app-controller) framework.
- <img src="https://img.alicdn.com/imgextra/i3/O1CN01SFL0Gu26nrQBFKXFR_!!6000000007707-2-tps-500-500.png" alt="new" width="30" height="30"/>**[2024-11-08]** We have now released the **SmartVscode** v1.0 version, it is based on [App-Controller](https://github.com/alibaba/app-controller) framework.

## What's SmartVscode?
**SmartVscode** aims to revolutionize how we interact with the powerful capabilities of Visual Studio Code by harnessing the simplicity and intuitiveness of natural language. Envision seamlessly toggling themes, connecting to remote servers, or even generate a mini-game — all articulated through natural language. This innovative method is designed to make coding more efficient and advanced, taking users into a new stage of interacting with software.
Expand All @@ -20,31 +20,27 @@

- ➕ **Automated Task Execution**: Streamline your development workflow with tasks automated by your descriptions. Whether you need to switch up your coding environment by changing themes and fonts or start a new project component like a mini-game, just ask and it's done.

- 📃 **Interactive Sidebar Conversations**: Engage in a dynamic conversation with your editor. Get instant responses right in your sidebar conversation window (feature coming soon)
- 📃 **Interactive Sidebar Conversations**: Engage in a dynamic conversation with your editor. Get instant responses right in your sidebar conversation window.


## Feature Video

### Tic-tac-toe Game
<img src="images/game8x.gif">
![game8x](https://github.com/user-attachments/assets/5ae87029-6669-4d36-8655-6a7f0c408b2d)


### Style Changing
<img src="images/fontsize2x.gif">
### A comprehensive pipeline in Python including configuration, code, and execution.
![quicksort4x](https://github.com/user-attachments/assets/2201a72b-2348-4c94-a01a-2f64515325d6)

### Theme Changing
<img src="images/theme1_8x.gif">

### Style Changing
![fontsize2x](https://github.com/user-attachments/assets/a5ab2c2a-0046-4f57-8dc3-7e0a304f2817)

### Enable auto saving
<img src="images/autosave2x.gif">

### Theme Changing
![theme1_8x](https://github.com/user-attachments/assets/3f84f3e2-f75d-4b12-9a2e-c3fe0627222d)


## Roadmap
- More supported capabilities of Vscode to called by natural language
- Supporting streaming response for user simple question.
- Introducing user feedback for task.
- More beautiful UI view.

## How to use
To begin utilizing this extension, follow these steps:
Expand All @@ -54,52 +50,54 @@ To begin utilizing this extension, follow these steps:
### Add Model Config
Once the extension is installed:
- Locate the chat window titled "SmartVscode" in your left sidebar, which should resemble the following:
<p align="center"><img src="images/mainView.png" alt="alt text" width="200"/></p>
<p align="center"><img src="https://github.com/user-attachments/assets/4de7f0aa-514d-4e34-9f51-9411ec5b0f70" alt="alt text" width="200"/></p>

- Configure your model settings within the extension:
- Access the our settings by clicking "Settings" button:
- For using OpenAI, input your API key and select your preferred chat and embedding models
<p align="center"><img src="images/modelConfig.png" alt="alt text" width="400"/></p>
- Access our settings by clicking "Settings" button:
- For using OpenAI, select the model type to `OpenAI` and modify the settings in the green box as shown in the figure below, including:
- your `API base url` and `API key`
- your preferred `chat` and `embedding` models
- For using Tongyi, select the model type to `Tongyi` and modify the settings in the blue box as shown in the figure below, including:
- your `API key`
- your preferred `chat` and `embedding` models
<p align="center"><img src="https://github.com/user-attachments/assets/4f86e7e2-1b51-4e15-a73e-6fb747fd776a" alt="alt text" width="400"/></p>

## Supported Tasks
Here we provide an overview of the tasks supported by SmartVscode. More tasks will be supported quickly.


| Task | Input Example |
| --------------------- | ----------------------------------------------- |
| **Settings** | |
| Theme | Switch to dark theme |
| Font | Set font size to 14 |
| Keybinding | I want to set a shortcut key for saving as |
| Color | Change the color of code comments to green |
| Auto Save | Enable auto-saving of files every 5 seconds |
| **Editor** | |
| Format | Format this file |
| Format | Format the selected code |
| Replace | Replace "var" with "let" |
| Comment | Comment the selected code |
| Comment | Uncomment the selected code |
| Duplicate | Duplicate the current line |
| Duplicate | Duplicate the selected code |
| File | Open the file named "main.py" |
| Navigate | Go to line 20 |
| Navigate | Jump to the function "greet" |
| Navigate | Navigate back to the previous location |
| Fold | Collapse all sections in the current JSON file |
| Fold | Unfold all sections in the current JSON file |
| **View** | |
| Workspace | Open a workspace folder in a new window |
| Workspace | Close current workspace folder |
| Sidebar | Close the sidebar on the left |
| **Execution** | |
| Breakpoint | Set a breakpoint at line 50 |
| Debug | Start debugging |
| Debug | Run the file named "main.py" |
| **Remote Connection** | |
| Config | Open the remote configuration file |
| Connection | Create a remote ssh server connection in vscode |
| **Extension** | |
| Install | Install the extension named "python" |

SmartVScode intergrates a variety of built-in VSCode commands and settings that users can execute by entering simple language instructions.
Here are some examples:


| **Editor** | | |
|--------------------------------------|---------------------------------------|----------------------------------|
| Scroll files together when I view multiple files at the same time | Enable the dimming of unfocused editors and terminals | Pin the current editor |
| Fold all block comments | Increase the font size in my editor to 16 | Disable the tab preview mode to open a file in a new tab
| Open the global replace interface | Show the name of the file followed by its relative path in the editor label | ... ... |

| **File** | **Extension** |**Terminal** |
|--------------------------------------|---------------------------------------|----------------------------------|
| Compare the current file with the content I just copied to the clipboard | Install an extension from a .vsix file | Enable the warning when paste multiple lines in terminal |
| Enable auto-saving of files every 5 seconds | Turn off the auto update for extensions | Enable the bracketed paste mode in the terminal |
| Go back to the previous location where my cursor was in the code | Enable the automatic update check for extensions | Navigate to the top of the the terminal view |
| Enable the column selection | Show me the extensions sorted by their names | Increase the amount of scrollback kept in the terminal buffer to 2000 |
| Open the current file position in the system window | Show me where the extensions are installed | Show me which commands in terminal I've used recently |
| ... .... | ... .... | ... ... |


| **Debug** | **Git** |**Setting** |
|--------------------------------------|---------------------------------------|----------------------------------|
| Add a contional breakpoint on the current line | Unstage the changes I staged in the current file | Open the global settings editor |
| Enable all the breakpoints |View the differences between the current version of my project and the last committed version | Open the command list |
| Show all the breakpoints in my project | View the Git output to understand what's going wrong | Open the keyboard shortcuts setting view |
| ... .... | ... .... | ... ... |

| **WorkSpace** | **Wokrbench** |**Window** |
|--------------------------------------|---------------------------------------|----------------------------------|
| List all the symbols in my workspace | Help naviagte to warnings in my project | Incease the zoom level of the editor |
| I want to manage the trust setting for my current workspace | Open the 'Customize Layout' dropdown for me | Set VS Code to only restore the last window I worked on when I start a new session |
| Close the current project folder | Hide the sidebar for me to get a full view of my code | Move hte current editor to a new window |



## Documentation
[Documentation](https://alibaba.github.io/smart-vscode-extension/en/index.html) provides the comprehensive information on how to develop SmartVscode. You can refer to these documentations for an improved experience with SmartVscode.
Expand Down
Binary file removed docs/sphinx_doc/en/source/_static/autosave2x.gif
Binary file not shown.
Binary file removed docs/sphinx_doc/en/source/_static/fontsize2x.gif
Binary file not shown.
Binary file removed docs/sphinx_doc/en/source/_static/game8x.gif
Binary file not shown.
Binary file modified docs/sphinx_doc/en/source/_static/mainView.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/sphinx_doc/en/source/_static/modelConfig.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/sphinx_doc/en/source/_static/theme1_8x.gif
Binary file not shown.
9 changes: 7 additions & 2 deletions docs/sphinx_doc/en/source/tutorial/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,13 @@ Once the extension is installed:
<p align="center"><img src="../_static/mainView.png" alt="alt text" width="200"/></p>

- Configure your model settings within the extension:
- Access the our settings by clicking "Settings" button:
- For using OpenAI, input your API key and select your preferred chat and embedding models
- Access our settings by clicking "Settings" button:
- For using OpenAI, select the model type to `OpenAI` and modify the settings in the green box as shown in the figure below, including:
- your `API base url` and `API key`
- your preferred `chat` and `embedding` models
- For using Tongyi, select the model type to `Tongyi` and modify the settings in the blue box as shown in the figure below, including:
- your `API key`
- your preferred `chat` and `embedding` models
<p align="center"><img src="../_static/modelConfig.png" alt="alt text" width="400"/></p>


26 changes: 10 additions & 16 deletions docs/sphinx_doc/en/source/tutorial/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Introduction

<h3 align="center"><img src="../_static/ai-logo.png" height="64"><br>SmartVscode: Controlling anything of Vscode by natural language</h3>
<h3 align="center"><img src="../_static/ai-logo.png" height="64"><br>SmartVscode: Controlling VS Code by natural language</h3>


<div align="center">
Expand All @@ -16,7 +16,7 @@


## News
- <img src="https://img.alicdn.com/imgextra/i3/O1CN01SFL0Gu26nrQBFKXFR_!!6000000007707-2-tps-500-500.png" alt="new" width="30" height="30"/>**[2024-06-27]** We have now released the **SmartVscode** v1.0 version, it is based on [App-Controller](https://github.com/alibaba/app-controller) framework.
- <img src="https://img.alicdn.com/imgextra/i3/O1CN01SFL0Gu26nrQBFKXFR_!!6000000007707-2-tps-500-500.png" alt="new" width="30" height="30"/>**[2024-11-08]** We have now released the **SmartVscode** v1.0 version, it is based on [App-Controller](https://github.com/alibaba/app-controller) framework.

## What's SmartVscode?
**SmartVscode** aims to revolutionize how we interact with the powerful capabilities of Visual Studio Code by harnessing the simplicity and intuitiveness of natural language. Envision seamlessly toggling themes, connecting to remote servers, or even generate a mini-game — all articulated through natural language. This innovative method is designed to make coding more efficient and advanced, taking users into a new stage of interacting with software.
Expand All @@ -25,31 +25,25 @@

- ➕ **Automated Task Execution**: Streamline your development workflow with tasks automated by your descriptions. Whether you need to switch up your coding environment by changing themes and fonts or start a new project component like a mini-game, just ask and it's done.

- 📃 **Interactive Sidebar Conversations**: Engage in a dynamic conversation with your editor. Get instant responses right in your sidebar conversation window (feature coming soon)
- 📃 **Interactive Sidebar Conversations**: Engage in a dynamic conversation with your editor. Get instant responses right in your sidebar conversation window.


## Feature Video

### Tic-tac-toe Game
![game8x](https://github.com/user-attachments/assets/5ae87029-6669-4d36-8655-6a7f0c408b2d)

<!-- https://github.com/alibaba/pilotscope/assets/31238100/eef9765a-8cda-4654-a147-475ed1a13c58 -->
![game](../_static/game8x.gif)

### Style Changing

<!-- https://github.com/alibaba/pilotscope/assets/31238100/18480837-b90f-44d6-8c28-d5f17a4552da -->
![style](../_static/fontsize2x.gif)

### Theme Changing
### A comprehensive pipeline in Python including configuration, code, and execution.
![quicksort4x](https://github.com/user-attachments/assets/2201a72b-2348-4c94-a01a-2f64515325d6)

<!-- https://github.com/alibaba/pilotscope/assets/31238100/2a8cd2fd-22df-4ba0-a564-90cad6c708bb -->
![Theme Changing](../_static/theme1_8x.gif)

### Style Changing
![fontsize2x](https://github.com/user-attachments/assets/a5ab2c2a-0046-4f57-8dc3-7e0a304f2817)

### Enable auto saving

<!-- https://github.com/alibaba/pilotscope/assets/31238100/77548e8a-2832-4770-8924-ea479646e3a8 -->
![Auto Saving](../_static/autosave2x.gif)
### Theme Changing
![theme1_8x](https://github.com/user-attachments/assets/3f84f3e2-f75d-4b12-9a2e-c3fe0627222d)


## Roadmap
Expand Down
Loading
Loading