bqls
May 10, 2026 ยท View on GitHub
BigQuery language server
https://github.com/user-attachments/assets/3e980a26-bc9b-4c2b-8c5b-1e9582a6a644
Installation
Prerequisites
- Go 1.25 or later
Install from releases
Download the latest binary from GitHub Releases and place it in your PATH.
Build from source
go install
Settings
Login to use BigQuery API
gcloud auth login
gcloud auth application-default login
Neovim
You 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" } })
VSCode
You can use bqls-vscode.
Save Result
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
Supported Protocol
- textDocument/formatting
- textDocument/hover
- textDocument/completion
- textDocument/definition
- textDocument/codeAction
- workspace/executeCommand
- workspace/didChangeConfiguration
- bqls/virtualTextDocument