microsoft/vscode-azurestorage

Fix filesystem provider

alexweininger opened this issue · 0 comments

The Azure Storage extension contributes filesystem providers for Blob Containers and File Shares. These let VS Code display files from these resources in the VS Code explorer as if they were local files. The Azure Resources v0.6.0 release (V2) broke the current filesystem provider implementations, and they need to be rewritten.

Current implementation

Current implementation src: https://github.com/microsoft/vscode-azurestorage/blob/main/src/AzureStorageFS.ts

Features the current filesystem implementation supports:

  1. Opening Blob/File share in VS Code via "Open in Explorer..." command

image

  1. Exploring File/File share contents in the Azure Resources tree view (still works but is very slow)

image

  1. Exploring File/File share contents in the Azure Workspace tree view for attached or emulated storage accounts (still works)

image

The current implementation is based upon using findTreeItem to retrieve a tree item for a given Uri. Changes in v2 have made this very slow and creates a lot of requests to the Azure API.

Proposed implementation

The new implementation should not rely on findTreeItem and instead should directly interact with the Storage SDKs. It should support the same features as the current implementation.

I have a PoC branch here: main...alex/fix-fs


Related to #1222, #1224