Git Product home page Git Product logo

Comments (3)

elithrar avatar elithrar commented on May 5, 2024

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.

dan-nom avatar dan-nom commented on May 5, 2024

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.

elithrar avatar elithrar commented on May 5, 2024

from vscode-bigquery.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.