Skip to content

Workspace Explorer#1874

Open
misha-db wants to merge 10 commits into
mainfrom
wsfs-explorer
Open

Workspace Explorer#1874
misha-db wants to merge 10 commits into
mainfrom
wsfs-explorer

Conversation

@misha-db
Copy link
Copy Markdown
Contributor

Changes

  • Enable Workspace Explorer by default (without opting into)
  • Add commands for:
    • Open file/folder in browser
    • Copy path
    • Delete file/folder
    • Upload file
    • downloading file (Open in vscode)

Tests

Manually

@misha-db misha-db temporarily deployed to test-trigger-is April 13, 2026 15:58 — with GitHub Actions Inactive
@misha-db misha-db requested a review from ilia-db April 13, 2026 15:59
@misha-db misha-db marked this pull request as ready for review May 26, 2026 12:24
@misha-db misha-db requested a review from anton-107 May 26, 2026 12:24
@misha-db misha-db changed the title WIP Workspace Explorer Workspace Explorer May 26, 2026
@misha-db misha-db temporarily deployed to test-trigger-is May 26, 2026 14:39 — with GitHub Actions Inactive
@misha-db misha-db temporarily deployed to test-trigger-is May 26, 2026 15:02 — with GitHub Actions Inactive
@github-actions
Copy link
Copy Markdown
Contributor

If integration tests don't run automatically, an authorized user can run them manually by following the instructions below:

Trigger:
go/deco-tests-run/vscode

Inputs:

  • PR number: 1874
  • Commit SHA: 3ec7c14e5d9d3621adf4146fc4b1c7bd18624da8

Checks will be approved automatically on success.

throw FileSystemError.FileNotFound(uri);
}

await parentEntity.createFile(posix.basename(uri.path), content, true);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we use options.overwrite here instead of hard-coding true?

type: isDir ? FileType.Directory : FileType.File,
ctime: entity.details.created_at ?? 0,
mtime: entity.details.modified_at ?? 0,
size: 0,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to use an actual file size here as reported by the workspace?

return {
type: isDir ? FileType.Directory : FileType.File,
ctime: entity.details.created_at ?? 0,
mtime: entity.details.modified_at ?? 0,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how likely is it that we would default here? i don't think there is a good default that is not breaking the editor heuristics here, but you could consider using Date.now() instead of 0

const contentBytes = await workspace.fs.readFile(srcUri);

try {
await root.createFile(fileName, contentBytes, true);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shall we prompt for overwrite instead of defaulting to overwriting? If a user uploads a file into a folder that already has a file with the same name, the remote file is destroyed without warning.

async readContent(): Promise<Uint8Array> {
const result = await this._workspaceFsService.export({
path: this.path,
format: "AUTO",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i am curious how it works with notebooks files. i believe this would return a source code file without an extension (.ipynb) - could you please double check?

),
contextValue: "wsfs.notebook",
command: {
command: "databricks.wsfs.openInBrowser",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it expected that we are opening notebooks in a web browser instead of in the code editor in vscode?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants