DocumentDB for VS Code v0.8 Released! 💻 #633
Replies: 1 comment
-
Patch Release v0.8.1This patch delivers Node 24 compatibility, significantly faster extension startup, tree view quality-of-life improvements with live item counts, AI transparency in Query Insights, batch connection deletion, and a fantastic wave of community contributions. 🤲 Community ContributionsThis release would not be what it is without our fantastic open-source community. A big thank you to everyone who submitted pull requests, reported issues, and helped shape v0.8.1!
What's Changed in v0.8.1💠 Node 24 Compatibility (#699)VS Code 1.123 (released June 3, 2026) ships with Node 24. If you updated VS Code and found the DocumentDB extension no longer loading, this fix is for you. The extension now works correctly with VS Code 1.123 and later. 💠 Item Counts on Tree Nodes (#714)The tree view now tells you more before you click. Two new at-a-glance counts appear automatically as you browse:
Counts load asynchronously in the background so tree expansion remains instant. A new 💠 AI Model Transparency in Query Insights (#690)Query Insights now tells you exactly which AI model analyzed your query and confirms upfront that the feature uses a utility model that does not count against your GitHub Copilot premium request quota. Both the pre-invocation card and the post-response panel now show:
💠 Batch Connection Deletion (#667)You can now select multiple connections in the Connections View and delete them all at once. The command adapts its confirmation message to reflect the number of selected items, continues through individual failures so a single bad connection does not block the rest, and reports a summary when done. Clearing out stale connections from a long list just became much less tedious. 💠 Faster Extension Startup and Connection Loading (#726)The extension loads noticeably faster, with the biggest gains for users on Remote-WSL or anyone with a large number of saved connections. Your connections appear in the tree sooner after VS Code opens.
💠 Performance: Throttled Background Document-Count Fetches (#685)When a database with many collections is expanded, every collection fires a background document-count request. Previously, these all launched in parallel, potentially saturating the connection pool and competing with foreground queries. A new per-cluster concurrency limiter caps simultaneous count fetches at 5 and staggers them 250 ms apart, dramatically reducing server load while keeping the tree feeling responsive. 💠 Hidden Index Visibility and Context Menu (#656, #674)Hidden indexes are now clearly labeled in the tree view with a
💠 Shard Key in Collection Tooltip (#661, #670)Sharded collections now expose their shard key in the hover tooltip alongside document count and storage size. The information is extracted directly from the
💠 Contextual Query Playground Filenames (#660, #664)New Query Playground files opened from the tree now get meaningful names derived from their context — for example,
💠
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
DocumentDB for VS Code Extension v0.8 💻
We are excited to announce the release of DocumentDB for VS Code Extension v0.8. This is a landmark update, and our biggest release yet, transforming the extension from a GUI browser into a full-featured query development environment for DocumentDB and MongoDB API databases.
This release introduces three major features: context-aware autocompletion in the Collection View, a brand-new Query Playground for writing and running scripts, and a built-in Interactive Shell for ad-hoc exploration. Everything is bundled, requires zero external tools, and works with Entra ID out of the box.
What's New in v0.8
⭐ Context-Aware Autocompletion in the Collection View
The filter, project, sort, and aggregation editors in the Collection View now understand your data. As you type queries, the editor suggests field names sampled from your collection's actual schema, operators with type-aware sorting, and values, all with hover documentation for every operator linking to the DocumentDB API docs.
The editor knows your schema and guides you through every keystroke, so you no longer need to look up operator syntax or guess between similar operators like
$gteand$gt.In this example, the field
additionalInfo.isFamilyFriendlyis a boolean. The editor suggeststrueandfalsefirst, followed by comparison operators. Each suggestion shows its category (boolean literal, comparison, projection, element) and the documentation panel at the bottom describes the selected item.Schema-aware field suggestions: Field names come from your collection's actual data, complete with type indicators and optionality markers, so you always know what fields are available and what types they hold.
Type-aware operator ordering: When you type
$after a field, operators are sorted by relevance to that field's type. Comparison operators appear first for numbers, regex operators for strings.Relaxed query syntax: You can now type queries using unquoted keys, single-quoted strings, BSON constructors (
ObjectId(),ISODate()), and JavaScript expressions (Date.now(),Math.min()). All the input restrictions from previous releases are gone.Real-time validation: Syntax errors are highlighted as you type, and near-miss typos produce helpful "Did you mean
ObjectId?" warnings.Hover documentation: Hover over any
$-prefixed operator or BSON constructor to see its description and a direct link to the DocumentDB API docs.#508, #506, #513, #518
⭐ Query Playground
The Query Playground introduces a
.documentdb.jsfile type that lets you write and run JavaScript scripts against your cluster, directly inside VS Code. Think of it as a notebook-style scratchpad for DocumentDB.The screenshot shows a
.documentdb.jsfile connected to a cluster. The Run All CodeLens at the top runs the entire file, while each block has its own Run button plus shortcuts to open the same query in the Collection View or the Interactive Shell.db.collection.find(),db.collection.aggregate(), or any valid JavaScript, with autocompletion fordb.*chains, collection methods, BSON constructors, and schema-aware field suggestions.console.log(),print(), andprintjson()all work, with output displayed in a dedicated console section of the results panel.Ctrl+Enterruns the current block,Ctrl+Shift+Enterruns the entire file.No external tools required. The previous scratchpad relied on a locally installed shell executable. That dependency is completely gone. The query runtime is now bundled directly into the extension and reuses the connection you already established when connecting to the cluster. This means it works seamlessly with Azure DocumentDB clusters using Entra ID authentication: no extra configuration, no credential juggling.
Just install the extension and start writing queries. No platform-specific headaches, no version mismatches, no PATH configuration.
#508, #573, #589
⭐ Interactive Shell
A full REPL terminal embedded in VS Code, giving you a shell experience fully integrated with the extension's connection management. Open it from any cluster, database, or collection node in the tree view, and you're immediately connected and ready to explore.
The screenshot shows two key features: tab completion suggesting
find(),findOne(), and other collection methods after typingdb.restaurants.find, and ghost text suggesting the field namereviewsafter the user typedrein a query. The field suggestion comes from schema information gathered locally as you browse and query your data.show dbs,show collections,use <db>,help,it(cursor iteration),exit/quit,cls/clear.$-operators as you type.db.users.), a list of options is shown. When only one match remains (e.g., typingrein a query wherereviewsis the only matching field), the suggestion appears as inline ghost text. The shell also suggests closing brackets automatically: typedb.col.find({ _id: { $exists: trueand see}})appear as ghost text. Supports database names, collection names, collection methods, shell commands, and operators.Ctrl+Ccancels long-running operations immediately.myDatabase>), anduse <db>updates both the prompt and the terminal tab name.Same zero-install philosophy. The Interactive Shell uses the same bundled runtime as the Query Playground: no external shell executable needed. It works with every connection type the extension supports, including Azure DocumentDB with Entra ID. Install the extension and you have a fully functional shell, regardless of your OS or environment.
#508, #573, #576, #580
⭐ Cross-Feature Navigation
All three query surfaces (Collection View, Query Playground, and Interactive Shell) are linked together with navigation actions, so you can seamlessly move your work between them.
Every collection node in the tree view now shows three inline action buttons for instant access:
From left to right: Open Collection View, New Query Playground, and Open Interactive Shell. The same actions are available through right-click context menus on database and collection nodes.
1️⃣ Collection View to Playground and Shell
The Collection View toolbar includes Open in Playground and Open in Shell buttons. Clicking either one takes your current find query (filter, project, and sort) and exports it into the target surface. The playground receives a complete
db.getCollection('...').find(filter, project).sort(sort)statement ready to run. The shell receives the same expression pre-filled at the prompt so you can edit it before executing.2️⃣ Shell to Collection View and Playground
After every query result in the Interactive Shell, two clickable links appear:
↗ Collection View [db.collection]and↗ Query Playground [db.collection]. Clicking either one opens the referenced collection in the corresponding surface, so you can switch from ad-hoc exploration to visual browsing or scripting with a single click.3️⃣ Playground to Collection View and Shell
Each code block in a Query Playground file shows Collection View and Shell CodeLens links alongside the Run button. These open the same query in the Collection View or launch an Interactive Shell session for the same connection. Some scripts (e.g., loops, aggregations, or multi-statement blocks) may not be convertible to the Collection View.
4️⃣ Clipboard Copy and Paste
The Collection View toolbar includes a Copy button that copies the current find expression to the clipboard in
db.getCollection('...').find(filter, project).sort(sort)format. You can paste this text into a playground file, a shell session, or share it with a colleague.The Collection View also supports Paste: paste a find expression from the clipboard and the extension parses it back into the filter, project, and sort editors.
#589
Key Fixes and Improvements
Query Insights: Static Analysis Improvements
Duplicate Connection Reveal
About Dialog
Prerelease Version Migration
Double-Click to Open Collection View
Custom Editor Tab Icons
Dependencies
fast-uri,fast-xml-builder,basic-ftp,path-to-regexp, and other transitive dependencies to their latest versions. #624, #606, #607, #609, #627, #628, #629Changelog
See the full changelog entry for this release:
➡️ CHANGELOG.md#080
Beta Was this translation helpful? Give feedback.
All reactions