bqls
BigQuery language server
https://github.com/user-attachments/assets/3e980a26-bc9b-4c2b-8c5b-1e9582a6a644
Installation
Prerequisites
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" } })
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.
VSCode
The official VSCode extension lives in editors/vscode in this repository.
You can also use the community extension 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