Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pehrs/vscode-vespa
Vespa AI Extension for Visual Studio Code
https://github.com/pehrs/vscode-vespa
admin completion syntax-highlighting vespa vespa-engine vespaai visual-studio vscode vscode-extension
Last synced: about 2 months ago
JSON representation
Vespa AI Extension for Visual Studio Code
- Host: GitHub
- URL: https://github.com/pehrs/vscode-vespa
- Owner: pehrs
- License: mit
- Created: 2023-12-29T10:22:44.000Z (almost 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-02T19:27:11.000Z (8 months ago)
- Last Synced: 2024-05-03T05:18:28.278Z (8 months ago)
- Topics: admin, completion, syntax-highlighting, vespa, vespa-engine, vespaai, visual-studio, vscode, vscode-extension
- Language: TypeScript
- Homepage:
- Size: 3.55 MB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# vscode-vespa - Vespa YQL request support for Visual Studio Code
The [VS Code Vespa extension](https://github.com/pehrs/vscode-vespa) provides rich language support for the [Vespa YQL Language](https://docs.vespa.ai/en/query-language.html).
## Features
* Run YQL requests against your vespa clusters and present the result in a webview table..
* Simple completion support is given for request snippets and the YQL query string.
* Optionally render a zipkin view if you enable tracing for your YQL request.
* Vespa Explorer
* Explore and download application files.
### Keybindings
`vscode-vespa` has the following keybindings by default (You can change them in the keybinding editor if you need to):
| Keybinding | Description |
|------------|-------------|
| ctrl+enter | Run the YQL request on the currently connected Vespa Cluster |
| ctrl+home | Open the Vespa Cluster Info panel |
| ctrl+end | Select Vespa cluster to connect to |## Requirements
[Vespa cluster running](https://docs.vespa.ai/en/getting-started.html) with the config and query endpoints available (ports 19071, 19050 and 8080). You can use the scripts in [vespa-k8s-cluster](https://github.com/pehrs/vespa-k8s-cluster) to setup a vespa cluster locally using [kind](https://kind.sigs.k8s.io/).
(Optional) [Zipkin Server](https://zipkin.io/) running
### Zipkin
Optionally if you wish to view traces of your Vespa queries you can start a zipkin server.
```shell
# Start Zipkin server
docker run --name zipkin -d -p 9411:9411 openzipkin/zipkin# Stop Zipkin server
docker rm -f zipkin
```## Extension Settings
The `vscode-vespa` extension is configured via a config file in `$HOME/.config/vscode-vespa/vespa-config.json`.
If the config file is not present then `vscode-vespa` will create a default config:```json
{
"defaultCluster": "localhost",
"clusters": [
{
"name": "localhost",
"queryEndpoint": "http://localhost:8080/search",
"configEndpoint": "http://localhost:19071",
"zipkinEndpoint": "http://localhost:9411",
}
],
"httpTimeout": "2s",
}
```You can edit the config file directly in vscode by selecting the
"Edit Vespa Cluster Configuration" command in the YQL editor menu.## Known Issues
### YQL (.yql) Syntax
This is work in progress.
We have started working on a [yql request syntax file](syntaxes/yqlReq.tmLanguage.json) and added support for coloring of the `yql` parameter via the [yql syntax](syntaxes/yql.tmLanguage.json). These are based on the [vscode JSON syntax](https://github.com/microsoft/vscode/blob/main/extensions/json/syntaxes/JSON.tmLanguage.json) and [vscode SQL syntax](https://github.com/microsoft/vscode/blob/main/extensions/sql/syntaxes/sql.tmLanguage.json)
### Schema (.sd) Syntax
This is work in progress.
We have started working on this in a new [Vespa Schema syntax](syntaxes/sd.tmLanguage.json).
### Zipkin traces
The zipkin traces are work-in-progress as the Vespa trace format is quite hard to parse.
We have use the [TransformVespaTrace.jsx](https://github.com/vespa-engine/vespa/blob/master/client/js/app/src/app/pages/querybuilder/TransformVespaTrace.jsx)
from [Vespa](https://github.com/vespa-engine/vespa) as the "source of truth" on how to parse the Vespa traces.### Language Server
In the source code there is a beginings of a
[language server](https://code.visualstudio.com/api/language-extensions/language-server-extension-guide) in the [server/](server/) dir.
This is not enabled as the features it gives, at the moment, are limited.## Release Notes
Please read the [CHANGELOG](CHANGELOG.md)