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

[Bug] #4816

Open
1 of 2 tasks
HEMANTHKUMARANNAM opened this issue Jan 25, 2025 · 0 comments
Open
1 of 2 tasks

[Bug] #4816

HEMANTHKUMARANNAM opened this issue Jan 25, 2025 · 0 comments

Comments

@HEMANTHKUMARANNAM
Copy link

Reproducible in vscode.dev or in VS Code Desktop?

  • Not reproducible in vscode.dev or VS Code Desktop

Reproducible in the monaco editor playground?

Monaco Editor Playground Link

import React, { useState } from 'react';
import { Editor, useMonaco } from '@monaco-editor/react';

const JavaEditor = () => {
const monaco = useMonaco();
const [isMonacoReady, setIsMonacoReady] = useState(false);

const handleEditorMount = (editor, monacoInstance) => {
if (monacoInstance && !isMonacoReady) {
setIsMonacoReady(true);

  // Register Java language
  try {
    monacoInstance.languages.register({ id: 'java' });

    // Register completion items for Java
    monacoInstance.languages.registerCompletionItemProvider('java', {
      provideCompletionItems: (model, position) => {
        const suggestions = [
          {
            label: 'sys',
            kind: monacoInstance.languages.CompletionItemKind.Function,
            insertText: 'System.out.println(${1:message});',
            insertTextRules: monacoInstance.languages.CompletionItemInsertTextRule.InsertAsSnippet,
            documentation: 'Prints a message to the console.',
          },
          {
            label: 'String',
            kind: monacoInstance.languages.CompletionItemKind.Class,
            insertText: 'String',
            documentation: 'Represents a sequence of characters.',
          },
          {
            label: 'Scanner',
            kind: monacoInstance.languages.CompletionItemKind.Class,
            insertText: 'Scanner ${1:scanner} = new Scanner(${2:System.in});',
            insertTextRules: monacoInstance.languages.CompletionItemInsertTextRule.InsertAsSnippet,
            documentation: 'Used to read input from the user.',
          },
          {
            label: 'main',
            kind: monacoInstance.languages.CompletionItemKind.Function,
            insertText: 'public static void main(String[] args) {\n\t${1:// write your code here}\n}',
            insertTextRules: monacoInstance.languages.CompletionItemInsertTextRule.InsertAsSnippet,
            documentation: 'Main entry point for a Java program.',
          },
        ];
        return { suggestions };
      },
    });

    // Register hover provider
    monacoInstance.languages.registerHoverProvider('java', {
      provideHover: function (model, position) {
        const word = model.getWordAtPosition(position);
        if (word) {
          return {
            contents: [
              {
                value: `**Java Autocomplete**\n\nThis is a custom tooltip for ${word.word}`,
              },
            ],
          };
        }
      },
    });
  } catch (error) {
    console.error('Error initializing Monaco editor:', error);
  }
}

};

return (
<div style={{ height: '500px' }}>


);
};

export default JavaEditor;

Monaco Editor Playground Code

Reproduction Steps

No response

Actual (Problematic) Behavior

Image

Expected Behavior

Working but while reloading. I getting this issue

Additional Context

No response

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

1 participant