Как включить хорошее автодополнение для Python в редакторе реакции/монако?Python

Программы на Python
Ответить
Anonymous
 Как включить хорошее автодополнение для Python в редакторе реакции/монако?

Сообщение Anonymous »

Я уже довольно давно пытаюсь найти решение для реализации более расширенного автодополнения для Python, но пока не смог этого сделать. Я хотел бы добиться того же результата автозаполнения, что и javascript. Я думал, что это должно быть легко, но начал натыкаться на статьи, в которых говорится, что для этой цели нужно развернуть языковой сервер. Неужели нет более простого способа добиться автодополнения (например, вывести на экран список методов созданного пользователем класса)? Я нашел следующий метод (который, кстати, работает не совсем корректно и к тому же все подсказки нужно реализовывать вручную):
import { FC, useEffect } from "react";
import * as monaco from "monaco-editor";

function createDependencyProposals(range) {
// returning a static list of proposals, not even looking at the prefix (filtering is done by the Monaco editor),
// here you could do a server side lookup
return [
{
label: "test",
insertText: "test",
range: range,
},
];
}

export const MonacoEditorComponent: FC = () => {
let flag = false;
useEffect(() => {
if (!flag) {
monaco.languages.registerCompletionItemProvider("python", {
provideCompletionItems: function (model, position) {
const word = model.getWordUntilPosition(position);
const range = {
startLineNumber: position.lineNumber,
endLineNumber: position.lineNumber,
startColumn: word.startColumn,
endColumn: word.endColumn,
};
return {
suggestions: createDependencyProposals(range),
};
},
});

monaco.editor.create(document.getElementById("container"), {
value: "def something():\n\treturn 5\n\n",
language: "python",
});
}

flag = true;
}, []);
return ;
};


Подробнее здесь: https://stackoverflow.com/questions/790 ... aco-editor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»