Какой основной компонент используется в текстовом редакторе, таком как Atom или VS Code?

Я хочу написать простой текстовый редактор на JavaScript. В настоящее время я использую contenteditable div. Но он кажется очень минималистичным, и я не уверен, что этот компонент подходит для текстового редактора. Я просмотрел исходный код Atom и VS Code, но не могу понять, что они используют в качестве базового компонента для редактора. Может ли кто-нибудь указать мне в правильном направлении? Я не смог найти html-файлы в репозитории атома. Там все на JavaScript. Где html файлы для редактора? Какой компонент я должен использовать в качестве основы для текстового редактора (например, Atom)?


person johndoe    schedule 10.03.2019    source источник
comment
Это не простые текстовые редакторы, это мощные IDE. Они почти наверняка используют собственные механизмы редактирования, а не то, что вы найдете заранее в JavaScript.   -  person Barmar    schedule 10.03.2019
comment
ace.c9.io — для начала   -  person Abijeet Patro    schedule 10.03.2019
comment
Вот некоторая информация о том, что создано с помощью VSCode: stackoverflow.com/a/29966094/3345051   -  person Hybrid    schedule 10.03.2019


Ответы (1)


Код VS использует редактор monaco ссылка npm внутри электронного приложения, вы можете использовать этот модуль для создайте свой редактор.

Альтернативой монако являются ссылка на веб-сайт Codemirror.

Эти редакторы предоставят вам интеллект, форматирование, выделение из коробки.

Однако построить их с нуля будет сложно.

Если вы хотите создать простой текстовый редактор, взгляните на этот репозиторий github текстовый редактор Pell для получения исходного кода. код.

Еще пример простого текстового редактора

https://github.com/Alex-D/Trumbowyg

https://github.com/basecamp/trix

person Gautam Naik    schedule 10.03.2019