смотрит на настройку виртуальной файловой системы для расширения vs code.
Как описано здесь: Как работать с файловыми системами FileSystemProvider в Visual Studio Code
Я также просмотрел и протестировал: https://github.com/microsoft/vscode-extension-samples/tree/master/fsprovider-sample
Я понимаю класс, определенный в fileSystemProvider.ts, который импортируется, создается и используется в основном файле extension.ts. Как показано ниже:
import { MemFS } from './fileSystemProvider';
const memFs = new MemFS();
context.subscriptions.push(vscode.workspace.registerFileSystemProvider('memfs', memFs, { isCaseSensitive: true }));
let initialized = false;
Я вижу, что в основном файлы extension.ts читаются / записываются путем доступа к созданному классу memfs., Например:
memFs.writeFile(vscode.Uri.parse(`memfs:/file.txt`), Buffer.from('foo'), { create: true, overwrite: true });
Мой вопрос: как осуществляется доступ (чтение / запись) к файлам в других файлах вне основного расширения. js где был создан экземпляр класса?
memFs.createDirectory(vscode.Uri.parse(`memfs:/folder/`));
Используя приведенный выше код в другом файле, он жалуется, что "memFs" не определено.
Мне кажется, что если я импортирую и создаю его в каждом файле, в котором требуется чтение / запись memF, у меня будет несколько версий, каждая из которых имеет локальную область видимости. Это правда?
Если бы в примере было показано, как читать / записывать данные вне основного экземпляра класса extension.ts, это было бы здорово.