Как выделить всю полную строку в зеркале кода

#javascript #codemirror

#javascript #codemirror

Вопрос:

Я могу изменить фон диапазона строк в зеркале кода с помощью приведенного ниже кода:

 javaEditor.markText(
    { line: 0, ch: 0 },
    { line: 2, ch: 0 },
    {
      atomic: true,
      handleMouseEvents: true,
      css: "background-color:lightgrey",
      selectRight: true,
      readOnly: true,
    }
  );
 

Но выделение работает только для символов, а не для всей строки, как показано ниже:

введите описание изображения здесь

Я хочу, чтобы выделение выглядело так:

введите описание изображения здесь

Комментарии:

1. Когда вы выделяете строки с помощью мыши, она ведет себя так же? Причина codemirror устанавливает стиль nackground для этих выделений с помощью Javascript при выборе, возможно, вы пропустили обработчик или вам не хватает какого-либо css.

2. Второй скриншот был в основном выбором мыши

Ответ №1:

Вот простой способ выделить строки в соответствии с class .

Создайте класс:

 .mark {
  background-color: lightgrey;
}
 

В JS для выделения строки 5

 cm.addLineClass(line-1, "wrap", "mark");