Я уже довольно давно пытаюсь найти решение для реализации более расширенного автодополнения для 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
Как включить хорошее автодополнение для Python в редакторе реакции/монако? ⇐ Python
Программы на Python
1728388860
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 ;
};
Подробнее здесь: [url]https://stackoverflow.com/questions/79065814/how-to-enable-good-autocompletion-for-python-in-react-monaco-editor[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия