The list of files is not displayed in the sidebar. If you use similar code with the @CodinGame/monaco-vscode-api package, then everything is fine.
Version packages:
"@astrojs/language-server": "2.12.1",
"@codingame/monaco-vscode-configuration-service-override": "7.0.10",
"@codingame/monaco-vscode-editor-service-override": "7.0.10",
"@codingame/monaco-vscode-explorer-service-override": "7.0.10",
"@codingame/monaco-vscode-files-service-override": "7.0.10",
"@codingame/monaco-vscode-theme-defaults-default-extension": "7.0.10",
"@codingame/monaco-vscode-workbench-service-override": "7.0.10",
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~7.0.10",
"monaco-editor-wrapper": "5.4.0",
"monaco-languageclient": "8.7.0",
"vscode": "npm:@codingame/monaco-vscode-api@~7.0.10",
"vscode-json-languageservice": "5.4.0",
"vscode-languageclient": "9.0.1",
"vscode-languageserver": "9.0.1",
"vscode-languageserver-protocol": "3.17.5",
"vscode-languageserver-textdocument": "1.0.11",
"vscode-languageserver-types": "3.17.5",
"vscode-uri": "3.0.8",
"vscode-ws-jsonrpc": "3.3.2",
Link repo
Code register file provider:
import { IStoredWorkspace } from '@codingame/monaco-vscode-configuration-service-override';
import { RegisteredFileSystemProvider, RegisteredMemoryFile, registerFileSystemOverlay } from '@codingame/monaco-vscode-files-service-override'
import {Uri} from 'vscode';
const rootFolder = '/frontend/'
const astroFile = Uri.file(`${rootFolder}test.astro`);
const astroFile2 = Uri.file(`${rootFolder}test2.astro`);
const packageJson = Uri.file(`${rootFolder}package.json`);
const astroFileContent = `---
const test = 1;
---
<div>1</div>`;
const astroFileContent2 = `---
const test = 2;
---
<div>2</div>`;
const packageJsonContent = `
{
"name": "packageName",
"type": "module",
"dependencies": {
"astro": "^4.11.5",
}
}`
export default (workspaceUri: Uri) => {
const fileSystemProvider = new RegisteredFileSystemProvider(false)
fileSystemProvider.registerFile(new RegisteredMemoryFile(astroFile, astroFileContent));
fileSystemProvider.registerFile(new RegisteredMemoryFile(astroFile2, astroFileContent2));
fileSystemProvider.registerFile(new RegisteredMemoryFile(packageJson, packageJsonContent));
fileSystemProvider.registerFile(new RegisteredMemoryFile(workspaceUri, JSON.stringify(<IStoredWorkspace>{
folders: [{
path: rootFolder
}]
}, null, 2)))
registerFileSystemOverlay(1, fileSystemProvider);
// open files, so the LS can pick it up
//await vscode.workspace.openTextDocument(astroFile);
};
Code config:
import { Uri } from 'vscode';
import getEditorServiceOverride from '@codingame/monaco-vscode-editor-service-override';
import { UserConfig } from 'monaco-editor-wrapper';
import { useOpenEditorStub } from 'monaco-editor-wrapper/vscode/services';
import getWorkbenchServiceOverride from '@codingame/monaco-vscode-workbench-service-override'
import getFilesServiceOverride from '@codingame/monaco-vscode-files-service-override'
import getExplorerServiceOverride from '@codingame/monaco-vscode-explorer-service-override'
import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override'
export const createUserConfig = (workspaceUri: Uri): UserConfig => {
return {
languageClientConfig: {
languageId: 'astro',
name: 'Astro Language Server',
options: {
$type: 'WebSocket',
host: 'localhost',
port: 30002,
path: 'astro',
extraParams: {
authorization: 'UserAuth'
},
secured: false
},
clientOptions: {
documentSelector: ['astro'],
workspaceFolder: {
index: 0,
name: 'workspace',
uri: workspaceUri
},
initializationOptions: {
typescript: {
tsdk: './node_modules/typescript/lib/',
}
}
},
},
wrapperConfig: {
serviceConfig: {
enableExtHostWorker: true,
workspaceConfig: {
workspaceProvider: {
trusted: true,
workspace: {
workspaceUri
},
async open() {
return false
},
}
},
userServices: {
//...getEditorServiceOverride(useOpenEditorStub),
...getConfigurationServiceOverride(),
...getExplorerServiceOverride(),
...getFilesServiceOverride(),
...getWorkbenchServiceOverride(),
},
debugLogging: true
},
editorAppConfig: {
$type: 'extended',
// codeResources: {
// main: {
// text: code,
// uri: codeUri
// }
// },
userConfiguration: {
// json: JSON.stringify({
// 'workbench.colorTheme': 'Default Dark Modern',
// 'editor.guides.bracketPairsHorizontal': 'active',
// 'editor.wordBasedSuggestions': 'off'
// })
},
useDiffEditor: false
}
},
loggerConfig: {
enabled: true,
debugEnabled: true
}
};
};
Screenshot issue:

The list of files is not displayed in the sidebar. If you use similar code with the @CodinGame/monaco-vscode-api package, then everything is fine.
Version packages:
Link repo
Code register file provider:
Code config:
Screenshot issue:
