BigQuery language server
bqls-mini.mp4
- Go 1.25 or later
Download the latest binary from GitHub Releases and place it in your PATH.
go installgcloud auth login
gcloud auth application-default loginYou can use bqls.nvim to integrate BigQuery with Neovim.
You can specify your BigQuery Project ID and location in the configuration. If not specified, the plugin will use gcloud config get project for the Project ID and US as the default location.
require("lspconfig").bqls.setup({
settings = {
project_id = "YOUR_PROJECT_ID",
location = "YOUR_LOCATION",
},
})You can change project_id with workspace/didChangeConfiguration.
vim.lsp.buf_notify(0, "workspace/didChangeConfiguration", { settings = { project_id = "ANOTHER_PROJECT_ID", location = "ANOTHER_LOCATION" } })bqls also supports fetching virtual document previews (table/job info) asynchronously so the
client isn't blocked while BigQuery is queried; see bqls/publishVirtualTextDocument
in the API reference. This is opt-in via supports_async_virtual_text_document in
initializationOptions, so bqls.nvim keeps working unmodified until it adopts the new flow.
The official VSCode extension lives in editors/vscode in this repository.
You can also use the community extension bqls-vscode.
In order to save for spreadsheet, you should enable Google Drive API.
- Enable Google Drive API and Google Sheets API
gcloud auth application-default login --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/drive
- textDocument/formatting
- textDocument/hover
- textDocument/completion
- textDocument/definition
- textDocument/codeAction
- workspace/executeCommand
- workspace/didChangeConfiguration
- bqls/virtualTextDocument