BigQuery Extension for VSCode
[!NOTE]
The Identifier of the extension has changed! Sorry for the confusion.
- old:
dr666m1.bq-extension-vscode
- new:
kitta65.googlesql-extension-vscode
This is a Visual Studio Code extension for standardSQL, which is a SQL dialect supported by BigQuery.
The language server itself is also available by other editors.
Features
- Complete table names (when quoted by
`
), column names (in SELECT statement) and functions
- Show hover information about tables and functions
- Dry run on save and show total bytes processed
- Format source code using prettier-plugin-bq (
Shift+Alt+F
)
- Language configuration and syntax highlight (mostly based on sql, but slightly adjusted)
Quick Start
[!NOTE]
If your OS is Windows, it is recommended to develop in WSL (read the document).
[!NOTE]
Since v0.0.57, sqlite is no longer needed.
- Install Google Cloud SDK
- Run
gcloud auth login
gcloud auth application-default login
gcloud config set project $YOUR_PROJECT
- Install this extension from VSCode
- Open a file (
xxx.bq
or xxx.bigquery
)
- Update cache (see the usage section)
Usage
Update Cache
The first thing you should do after installation is to update cache.
Run BQExtensionVSCode: Update Cache
from command palette
and the information about datasets and tables will be stored in local directory (~/.bq_extension_vscode/
).
In this process, this extension runs several queries against INFROMATIN_SCHEMA.
Note that datasets which does not appear in your query will be ignored to reduce cost.
[!TIP]
Since v0.0.59, Add To Cache
command is also available.
Execute this command to cache schema info about a single table under your cursor.
Advanced Settings
file extensions
This extension assumes that the file name is xxx.bq
or xxx.bigquery
.
If you are editting a file named xxx.sql
, you have to map *.sql
to bigquery
this way.
// settings.json
{
"files.associations": {
"*.sql": "bigquery",
},
}
Feedback
I'm not ready to accept pull requests, but your feedback is always welcome.
If you find any bugs, please feel free to create an issue.