Skip to content

Commit 5855a51

Browse files
committed
Merge branch 'main' into databricks-yml-include-section
2 parents 9555629 + 04f964b commit 5855a51

10 files changed

Lines changed: 494 additions & 12 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@databricks/databricks-vscode",
3-
"version": "2.11.1",
3+
"version": "2.12.0",
44
"private": true,
55
"workspaces": [
66
"packages/*"

packages/databricks-vscode-types/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# Release: v2.12.0
2+
3+
## packages/databricks-vscode-types
4+
5+
## (2026-06-24)
6+
17
# Release: v2.11.1
28

39
## packages/databricks-vscode-types

packages/databricks-vscode-types/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@databricks/databricks-vscode-types",
3-
"version": "2.11.1",
3+
"version": "2.12.0",
44
"description": "Package with types and interfaces to develop extensions to the Databricks VSCode plugin",
55
"main": "index.js",
66
"types": "index.d.ts",

packages/databricks-vscode/CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
# Release: v2.12.0
2+
3+
## packages/databricks-vscode
4+
5+
## (2026-06-24)
6+
7+
- Add create file support to WSFS explorer (#1922) ([430a4d8](https://github.com/databricks/databricks-vscode/commit/430a4d8)), closes [#1922](https://github.com/databricks/databricks-vscode/issues/1922)
8+
- Bound databricks-cli login timeout to fix indefinite WSL hang (#1921) ([a56cb82](https://github.com/databricks/databricks-vscode/commit/a56cb82)), closes [#1921](https://github.com/databricks/databricks-vscode/issues/1921) [#1917](https://github.com/databricks/databricks-vscode/issues/1917)
9+
- Fix Databricks Connect run/debug interpreter split-brain (#1912) ([2bebf16](https://github.com/databricks/databricks-vscode/commit/2bebf16)), closes [#1912](https://github.com/databricks/databricks-vscode/issues/1912) [#1905](https://github.com/databricks/databricks-vscode/issues/1905)
10+
- Fix Volume "Open in Databricks" routing to volume URL (#1925) ([630e267](https://github.com/databricks/databricks-vscode/commit/630e267)), closes [#1925](https://github.com/databricks/databricks-vscode/issues/1925)
11+
112
# Release: v2.11.1
213

314
## packages/databricks-vscode

packages/databricks-vscode/package.json

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "IDE support for Databricks",
55
"publisher": "databricks",
66
"license": "LicenseRef-LICENSE",
7-
"version": "2.11.1",
7+
"version": "2.12.0",
88
"engines": {
99
"vscode": "^1.86.0",
1010
"node": ">=22.0"
@@ -196,6 +196,20 @@
196196
"enablement": "databricks.context.activated && databricks.context.loggedIn && !databricks.context.remoteMode",
197197
"category": "Databricks"
198198
},
199+
{
200+
"command": "databricks.wsfs.createNewFile",
201+
"title": "Create File",
202+
"icon": "$(new-file)",
203+
"enablement": "databricks.context.activated && databricks.context.loggedIn && !databricks.context.remoteMode",
204+
"category": "Databricks"
205+
},
206+
{
207+
"command": "databricks.wsfs.createNewFile.toolbar",
208+
"title": "Create File",
209+
"icon": "$(new-file)",
210+
"enablement": "databricks.context.activated && databricks.context.loggedIn && !databricks.context.remoteMode",
211+
"category": "Databricks"
212+
},
199213
{
200214
"command": "databricks.wsfs.openInBrowser",
201215
"title": "Open in Browser",
@@ -726,6 +740,11 @@
726740
"when": "view == workspaceFsView",
727741
"group": "navigation@1"
728742
},
743+
{
744+
"command": "databricks.wsfs.createNewFile.toolbar",
745+
"when": "view == workspaceFsView",
746+
"group": "navigation@1"
747+
},
729748
{
730749
"command": "databricks.unityCatalog.filter",
731750
"when": "view == unityCatalogView",
@@ -803,10 +822,15 @@
803822
"group": "wsfs_mut@0"
804823
},
805824
{
806-
"command": "databricks.wsfs.uploadFile",
825+
"command": "databricks.wsfs.createNewFile",
807826
"when": "view == workspaceFsView && (viewItem == wsfs.directory || viewItem == wsfs.repo)",
808827
"group": "wsfs_mut@1"
809828
},
829+
{
830+
"command": "databricks.wsfs.uploadFile",
831+
"when": "view == workspaceFsView && (viewItem == wsfs.directory || viewItem == wsfs.repo)",
832+
"group": "wsfs_mut@2"
833+
},
810834
{
811835
"command": "databricks.wsfs.downloadFile",
812836
"when": "view == workspaceFsView && (viewItem == wsfs.file || viewItem == wsfs.notebook)",

packages/databricks-vscode/src/extension.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,16 @@ export async function activate(
429429
workspaceFsCommands.createFolderFromToolbar,
430430
workspaceFsCommands
431431
),
432+
telemetry.registerCommand(
433+
"databricks.wsfs.createNewFile",
434+
workspaceFsCommands.createFile,
435+
workspaceFsCommands
436+
),
437+
telemetry.registerCommand(
438+
"databricks.wsfs.createNewFile.toolbar",
439+
workspaceFsCommands.createFileFromToolbar,
440+
workspaceFsCommands
441+
),
432442
telemetry.registerCommand(
433443
"databricks.wsfs.openInBrowser",
434444
workspaceFsCommands.openInBrowser,

packages/databricks-vscode/src/ui/unity-catalog/UnityCatalogTreeDataProvider.test.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,36 @@ describe(__filename, () => {
352352
assert.strictEqual(item.copyText, "cat");
353353
});
354354

355+
it("getTreeItem sets volume url with volumes path segment", async () => {
356+
const stubManager = {
357+
onDidChangeState: () => ({dispose() {}}),
358+
databricksWorkspace: {
359+
host: new URL("https://adb-123.azuredatabricks.net/"),
360+
},
361+
} as unknown as ConnectionManager;
362+
363+
const provider = new UnityCatalogTreeDataProvider(
364+
stubManager,
365+
stubStateStorage
366+
);
367+
disposables.push(provider);
368+
369+
const volume: UnityCatalogTreeNode = {
370+
kind: "volume",
371+
catalogName: "cat",
372+
schemaName: "sch",
373+
name: "ev",
374+
fullName: "cat.sch.ev",
375+
};
376+
const item = provider.getTreeItem(volume) as UnityCatalogTreeItem;
377+
378+
assert(item.url, "url should be set");
379+
assert(
380+
item.url!.includes("explore/data/volumes/cat/sch/ev"),
381+
`url should contain explore/data/volumes/cat/sch/ev, got: ${item.url}`
382+
);
383+
});
384+
355385
it("getTreeItem omits url when no host", async () => {
356386
const provider = new UnityCatalogTreeDataProvider(
357387
instance(mockConnectionManager),

packages/databricks-vscode/src/ui/unity-catalog/UnityCatalogTreeDataProvider.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ export class UnityCatalogTreeDataProvider
118118
case "function":
119119
path = `functions/${fullNamePath}`;
120120
break;
121+
case "volume":
122+
path = `volumes/${fullNamePath}`;
123+
break;
121124
}
122125
return this.getExploreUrl(path);
123126
}

0 commit comments

Comments
 (0)