-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Let's explore a local query matching approach so no cloud-based backend is needed.
- Initialization
a. When the SmartCommand is first installed, scan the local drive for all commands (dot-separated, e.g.,python.select.interpreter) and their labels/titles (in English, e.g., "Python: Select Interpreter") of VSCode and all plug-ins.
b. Embed all commands and their labels/titles using Sentence-BERT. Save into a pickle file. The objects in the pickle file is detailed in Command ranking using both commands and titles #14
c. Create a file to log the plug-ins and their versions, in a format similar to therequirements.txtfile for Python packages. This can help SmartCommand to know whether the command and title embeddings need to updated. - Update or insert the embeddings: Every time when VSCode starts, scan the plug-ins and their versions. If nothing changes, such as no new plug-ins, do nothing. But if any new plug-in is installed or a plug-in has been updated, replace or add the embeddings for the affected plug-ins only. Do NOT reembed commands that remain the same -- this is a waste of time.
Metadata
Metadata
Assignees
Labels
No labels