Comments (3)
Sure - I'd done some thinking on this behind the scenes, but hadn't written it down yet - so thanks for prompting the conversation!
- One of the things I'd like the most is a language server: getting some basic SQL formatting would be great. Triggering a query run on a file that doesn't have the language mode set would also do that (automatically, unless configured or the file has an existing mode set).
- Building in some snippets would be great - although I'd want to be mindful of bloat here. Maybe a simple
SELECT [] FROM `project.dataset.table`
, a JavaScript UDF example, etc would be enough. - Pulling your existing datasets & tables via the API was one I was considering next - being able to browse datasets would be useful, but not sure how critical that is today. Just getting a list of datasets (BigQuery: List Datasets in Project) would be a good first start. You can list the tables via
SELECT * FROM
project.dataset.TABLES` until then (a snippet!) - A sidebar view of datasets & tables would definitely be the next step - similar to how the GitHub Pull Requests extension works. Show datasets (rolled up, at first) and then allow a user to expand. Might have to see how we support 50+ tables per dataset though - you can have far more, but the sidebar may not scale well beyond 10-20 from a UX perspective.
- Exporting results locally = yes.
- More rendering options = definitely being to open a job in the Web UI - "BigQuery: Open Last Job in Browser" and taking a user to
https://console.cloud.google.com/bigquery?project=${projectId}&j=${jobId}&page=queryresults
would do the trick. I'm OK with Markdown, but the table rendering code (since BQ has nested fields) is already fragile, which isn't great, so perhaps even just replace the current table formatting with a Markdown driven engine if there's something more robust here.
In order of "priority" and taking into account ease-of-implementation) I see it as: exporting results locally > SQL formatting > sidebar > open in browser > additional rendering options.
Happy to divvy up the work here too. I can't commit mountains of time to this, and I have a number of other OSS projects that keep me treading water as-is, but I can at the very least commit to timely reviews & feedback.
from vscode-bigquery.
Thanks for the reply! I also cannot commit a huge amount of time, but happy to add in features where I can.
Perhaps a next step is to file some issues for more incremental improvements which I (or other contributors 🤞) can work on when we have the time.
For the bigger chunks of work, like a language server, where some consideration is needed for architecture we could either create issues for discussion or docs for planning?
Happy to follow your lead on best way to proceed.
from vscode-bigquery.
from vscode-bigquery.
Related Issues (12)
- Dry run/query validation HOT 2
- Current status of this extension HOT 2
- Next Release with Dry Run?
- Release to VS Code Marketplace?
- Update Readme documentation to be json
- Why did investment in this stop? HOT 2
- What is the version of VS Code supported?
- Results window - Not showing HOT 5
- Problem to run HOT 4
- TypeError showing after execution of query
- autocomplete names of fields and tables HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vscode-bigquery.