Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Empty file exploler in sidebar #711

Closed
SinnerAir opened this issue Jul 18, 2024 · 3 comments
Closed

Empty file exploler in sidebar #711

SinnerAir opened this issue Jul 18, 2024 · 3 comments

Comments

@SinnerAir
Copy link

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:
monaco_exploler_issue

@SinnerAir SinnerAir changed the title Support file explorer Empty file exploler in sidebar Jul 29, 2024
@SinnerAir
Copy link
Author

Maybe pull request #714 will solve the problem ?

@SinnerAir
Copy link
Author

I made the same edits as in PR and it work!

@kaisalmen
Copy link
Collaborator

Hi @SinnerAir #714 is now merged and a new release will be there soon (today or tomorrow). I will close this issues.

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

No branches or pull requests

2 participants