Возможно ли перенос слов с отступом в лаборатории Юпитера? - PullRequest
1 голос
/ 10 июля 2019

Jupyterlab делает мягкую обертку вот так (с настройкой "lineWrap": "on"):

wrong

Но я бы предпочел что-то подобное, как будто оно есть во всех моих другихтекстовые редакторы (emacs, intellij, vim ...):

right

Возможно ли это?:)

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

JupyterLab использует CodeMirror, и есть взлом для отступа строк с мягким переносом, опубликованных в https://codemirror.net/demo/indentwrap.html.

Код с этой страницы:

  var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
    lineNumbers: true,
    lineWrapping: true,
    mode: "text/html"
  });
  var charWidth = editor.defaultCharWidth(), basePadding = 4;
  editor.on("renderLine", function(cm, line, elt) {
    var off = CodeMirror.countColumn(line.text, null, cm.getOption("tabSize")) * charWidth;
    elt.style.textIndent = "-" + off + "px";
    elt.style.paddingLeft = (basePadding + off) + "px";
  });
  editor.refresh();

Это всего лишь первый шаг, и я понятия не имею, как применить этот хак в JupyterLab (поскольку CodeMirror не является глобальной переменной в этой среде). Я надеюсь, что кто-то сможет построить поверх этого ...

0 голосов
/ 10 июля 2019

Поведение в режиме мягкого переноса, по-видимому, является собственностью вашего браузера.Так как ячейки кода ноутбука просто заключены в <textarea>, не существует (простого) решения.

Для меня, например, в Safari это вообще не мягкое перенос, скорее я получаю горизонтальную полосу прокрутки,

...