Инструменты рабочего пространства

Закладки

Место, куда хочется вернуться: строка, где живёт баг, функция, переименованная наполовину, то, что нужно удалить, когда рефакторинг приземлится. Правый клик по строке в просмотрщике, Закладка на эту строку — она появится в боковой панели, и щелчок вернёт вас туда.

Закладки в боковой панели

Строка с закладкой несёт метку на полях, а наведение на любую строку показывает блёклую, по которой можно щёлкнуть, — контекстное меню нужно тогда, когда вы уже знаете, что функция есть.

Закладки приватны для этой машины и этого репозитория. В репозиторий ничего не пишется: их нельзя закоммитить, отправить или показать кому-то ещё — ровно как задачи.

Строка сдвигается. В этом вся проблема.

cart.ts:42 портится в тот момент, когда кто-то вставит строку выше, а закладка, молча открывающая не ту строку, хуже, чем её отсутствие. Поэтому рядом с номером хранится текст строки, и открытие ищет её заново:

  1. запомненная строка, если на ней всё ещё тот текст;
  2. иначе ближайшая строка с тем же текстом — ближайшая, чтобы строка, повторяющаяся по всему файлу, разрешилась в копию, ближайшую к прежнему месту;
  3. иначе ближайшая строка, совпадающая без учёта пробелов: это переживает переотступы и форматтер;
  4. иначе — сообщение, что строки больше нет, и открытие там, где она была, вместо догадок.

Когда строка сдвигается, закладка лечится: новый номер сохраняется, и следующее открытие стартует уже оттуда. Заметку можно добавить из контекстного меню — без неё подписью служит сам текст строки.

Ограничения

  • Закладка указывает на рабочее дерево, а не на коммит. Она следует за вашими правками, но не путешествует назад по истории.
  • Переписанный файл теряет свои закладки. Если ни точного текста, ни его формы без пробелов нет в пределах пары сотен строк, честно указывать уже не на что.
  • Переименование файла ломает его закладки. Ключ — это путь; git видит переименование в диффе, но закладка не часть диффа.
  • У пустой строки нет текста для поиска — её закладка держится только на номере.

См. также: Задачи · Проблемы

Улучшить этот перевод на GitHub