Подтвердить что ты не робот

Редактирование Sublime Text с момента последнего сохранения

Кажется, он ничего не нашел в Интернете. Часто тратите время на редактирование нескольких текстовых документов в одно и то же время и отсутствие следов, из которых я редактировал. Когда я закрываю, я не всегда уверен, намеренно ли я изменил или случайно отредактировал символ в файле. Было бы здорово иметь функцию, чтобы показывать изменения с момента последнего, за исключением возвышенного текста.

Кажется, такая очевидная необходимость, что я удивлен, что ничего не могу найти в функциях. Я что-то упускаю, или я единственный, кому нужна эта потребность?

4b9b3361

Ответ 1

Я знаю, что у этого уже есть принятый ответ, но нет необходимости устанавливать FileDiffs или что-то еще. Просто щелкните правой кнопкой мыши на измененном окне и выберите Show Unsaved Changes.

В нижней части экрана появится панель, в которой перечислены различия. Нет очевидного способа отклонить панель, но Ctrl + F снова заменит ее панель поиска.

Ответ 2

Добавьте эту строку в свой Preferences.sublime-settings файл (если вы на Mac, откройте меню Sublime Text 2 → Настройки → Настройки - Пользователь):

"highlight_modified_tabs": true

Здесь будут выделены вкладки с несохраненными изменениями.

Ответ 3

Вы можете использовать плагин "Измененные диапазоны строк", который помещает небольшой маркер желоба для строк с несохраненными изменениями.

Ответ 4

Вы можете установить плагин FileDiffs, который, помимо прочего, даст вам разницу между текущим (отредактированным) файлом и тем, что сохранено на диске.

Ответ 5

Показать несохраненные изменения

Щелчок правой кнопкой мыши в любом месте файла уже давно предоставляет возможность показать все несохраненные изменения.
В нем будут перечислены все изменения в диалоговой области, также используемые для поиска/замены.
Это должно работать для возвышенного текста 2 и 3.

Добавочный Diff

Более поздняя версия Sublime Text 3 добавила функцию Incremental Diff.

Желоб показывает, какие линии изменились.
Это работает как для несохраненных изменений, так и для изменений между сохранением файла или коммитами git.
Он может быть настроен для отображения различий: последняя сохраненная версия (git не нужен), git Head или (через API) любой другой контент.

Показать модификации:

Правый щелчок

  • маркер желоба, или
  • любой код рядом с маркером желоба
    (ака любая область измененного кода независимо от того, показывает ли ваша тема маркеры желоба)

предлагает варианты:

  • показать версии diff внутри, или
  • открыть диалог, показывающий все отслеживаемые различия

Или вы можете использовать пункт меню:
Edit → Text → Toggle → Hunk Diff
Или ярлыки:
Ctrl + / (на Mac это значок клевера, а не Ctrl)
Или этот вариант ярлыка, который также закроет/скроет все другие различия Hunks
Ctrl + ; (на Mac это значок клевера, а не Ctrl)

Я не знаю пункт меню, чтобы показать все несохраненные изменения.

Пункты меню и ярлыки доступны для навигации между изменениями и отмены отдельных (встроенных) изменений. (см. связанный документ выше для деталей).

незначительные оговорки:

  1. Ваша тема должна поддерживать diff стили, чтобы видеть маркеры желоба. Документы показывают, как добавить пользовательские стили, если вы используете старую тему, которая не включает необходимые стили.
    Тем не менее, функциональность все равно должна работать, даже если вы не видите маркеры желоба, если эта опция включена в вашем файле Preferences.
  2. если вы сделаете редактирование, а затем измените его обратно, буфер все равно будет помечен как имеющий (2) изменения, если вы не вернетесь через Undo (т.е. Ctrl-Z). Это не "файл diff", а трекер для буфера редактирования, который хранит что и где. Тем не менее, опция Show Diff Hunk покажет вам, было ли это изменение "важным", фактическое изменение файла или нет.

Переход:

Чтобы перемещаться между изменениями (показывает ли ваша тема маркеры желоба):
Ctrl + .
Ctrl + ,
меню GotoNext Modification
меню GotoPrevious Modification

Вернуть ломоть:

Наведите курсор на измененный код или желоб (независимо от того, отображаются ли в вашей теме маркеры желоба):
Ctrl + K, затем Ctrl + Z (на Mac это значок клевера, а не Ctrl)
меню Edit ->/TextRevert Modification

Это будет действовать только на diff Hunk который находится на месте вашего курсора.
Это не будет иметь никакого эффекта, если ваш курсор не находится в области измененного кода /diff Hunk.

Вот настройки Sublime Text 3, которые управляют функцией увеличения различий:

mini_diff контролирует инкрементную mini_diff/выкл/вкл только для Git)
Допустимые значения включают в себя:

true   –  always enable incremental diff (the DEFAULT) (Git or Not-Git)
"auto" –  enable  incremental diff for files in a Git repository (only)
false  –  disable incremental diff

git_diff_target контролирует поведение инкрементной разницы для файлов в репозитории Git
Допустимые значения включают в себя:

"index" – diff against the Git index (aka staged for commit), (the DEFAULT)
"head"  – diff against the file at HEAD (aka last commit in checked out branch)