Предотвратить изменение окончаний строк в Sublime Text? - PullRequest
0 голосов
/ 08 апреля 2019

Я работаю с файлами с разными окончаниями строк (Unix и Windows). Я понимаю, что могу настроить SublimeText на использование одного или другого с помощью настроек "default_line_ending", но как я могу настроить автоматически на использование правильного типа для данного файла (т.е. не меняйте окончания строк в файл при редактировании).

1 Ответ

0 голосов
/ 08 апреля 2019

Sublime обнаружит окончания строк, используемые в файле, и продолжит их использовать (но см. Ниже), поэтому, например, если вы откроете файл Unix и файл Windows, каждое из них будет сохранено обратно на диск используя соответствующие окончания строк без необходимости делать что-то особенное.

Если вы используете настройку show_line_endings, Sublime показывает в строке состояния, какой тип строки заканчивается текущим файлом (или будет использоваться; при щелчке по нему открывается меню, в котором можно выбрать новый). Как видно здесь, по умолчанию он выключен.

// Display line endings in the status bar
"show_line_endings": false,

Тем не менее, если вы открываете файлы, которые представляют собой только одну строку, в которой нет символа конца строки, в конце строки по умолчанию используется значение в параметре default_line_ending, что может привести к тому, что Sublime будет неправильно определяет конец строки в использовании. На самом деле проблема в том, что, поскольку вовсе не является символом окончания строки, у него нет никакого способа определить, какой тип файла вы собираетесь открыть, и у него нет выбора, кроме как вернуться к значению по умолчанию. .

Если это проблема, вы можете уменьшить ее, изменив значение по умолчанию этого параметра:

// Set to true to ensure the last line of the file ends in a newline
// character when saving
"ensure_newline_at_eof_on_save": false,

Когда этот параметр включен, Sublime гарантирует, что в последней строке файла есть терминатор строки, что позволит ему правильно определить соответствующий тип файла в следующий раз, когда вы откроете его. Когда вы в первый раз сохраняете файл, состоящий из одной строки, вам может понадобиться сначала изменить терминатор по умолчанию, чтобы убедиться, что используется правильный терминатор (для этого пригодится параметр, указанный выше).

Потенциальным недостатком этого является то, что он заставляет все ваши файлы отображаться как минимум в две строки, чтобы гарантировать наличие разделителя строк, что может быть или не быть проблемой.

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

Следует отметить, что Sublime НЕ поддерживает - это идея файлов со смешанными окончаниями строк; Когда файл такого рода сохраняется обратно на диск, все разделители строк нормализуются к текущему установленному. Это потому, что Sublime нормализует данные в памяти и не хранит записи о том, чем заканчивалась каждая строка.

...