Я знаю, что есть много сообщений об этом, но я не мог заставить его работать.
Я использую вкладки для кодирования. Есть ли способ, чтобы всегда преобразовывать пробелы во вкладки? Т.е. на открытие и на сохранение файлов? У кого-нибудь есть идея?
// редактировать:
я хочу сделать это автоматически ! -> открыть, сохранить или на лету
Кто-нибудь знает, как это сделать?
Я попробовал это :
import sublime, sublime_plugin, os
class ExpandTabsOnSave(sublime_plugin.EventListener):
# Run ST's 'expand_tabs' command when saving a file
def on_pre_save(self, view):
if view.settings().get('expand_tabs_on_save') == 1:
view.window().run_command('expand_tabs')
И вот мои настройки пользователя:
{
"auto_complete_selector": "source - comment, meta.tag - punctuation.definition.tag.begin",
"auto_indent": true,
"detect_indentation": true,
"draw_white_space": "all",
"ensure_newline_at_eof_on_save": true,
"expand_tabs_on_save": true,
"font_face": "SourceCodePro-Regular",
"font_size": 10,
"format_on_save": true,
"ignored_packages":
[
"Vintage"
],
"indent_to_bracket": true,
"open_files_in_new_window": false,
"smart_indent": true,
"tab_size": 4,
"translate_tabs_to_spaces": false,
"trim_automatic_white_space": true,
"trim_trailing_white_space_on_save": true,
"use_tab_stops": false,
"word_wrap": false
}
Ctrl + ~
и посмотреть, не дает ли он каких-либо ошибок в плагине? И если у вас установлен Package Control, вы можете увидеть, еслиExpandTabsOnSave
он указан как установленный плагин?print("debug")
или подобный плагин, чтобы увидеть, выполняется ли он при сохранении.Ответы:
В правом нижнем углу окна Sublime Text вы увидите индикатор отступа, который выглядит примерно так:
После нажатия на кнопку откроется меню с опциями для настройки ваших предпочтений отступов, и что более важно,
Convert Indentation to Tabs/Spaces
.Это же меню указано в разделе
View -> Indentation
.источник
В нижней части окна Sublime вы увидите что-то, представляющее ваши настройки табуляции / пространства.
Затем вы получите раскрывающийся список с кучей вариантов. Возможные варианты:
Примените желаемую настройку ко всему документу.
Надеюсь это поможет.
источник
Как вы, возможно, уже знаете, вы можете настроить параметры отступа
Preferences.sublime-settings
, например:Это позволит вашему редактору использовать вкладки шириной в 4 пробела и переопределит поведение по умолчанию, при котором Sublime будет соответствовать отступу любого редактируемого файла. С этими настройками повторный отступ файла приведет к замене пробелов на вкладки.
Что касается автоматического повторного отступа при открытии файла, это не так просто (но, вероятно, это не очень хорошая идея, так как изменения пробелов наносят ущерб файлам diff). Что может быть лучше: вы можете назначить ярлык для повторного отступа и просто вызвать его, когда откроете новый файл, который нужно исправить.
источник
Вы можете использовать командную палитру, чтобы решить эту проблему.
Шаг 1:
Ctrl + Shift + P
(активировать палитру команд)Шаг 2: введите «Отступ», выберите
"Indentation: Convert to Tabs"
источник
В моем случае эта строка решила проблему:
источник
Вот решение, которое будет автоматически преобразовываться во вкладки всякий раз, когда вы открываете файл.
Создайте этот файл
.../Packages/User/on_file_load.py
::НОТА. Это приводит к тому, что файл находится в несохраненном состоянии после открытия, даже если не было никакого фактического преобразования пространства в табуляцию ... возможно, некоторые могут помочь с исправлением для этого ...
источник
.../Packages/User/on_file_load.py
, а не.php
on_load
вместоon_load_async
.Чтобы автоматически преобразовывать пробелы во вкладки при сохранении , добавьте следующий скрипт Python во вновь созданную подпапку с именем «UnexpandTabsOnSave» в «$ SUBLIME_HOME $ \ Packages \»:
Спасибо за начальный ресурс.
источник
Вы можете заменить вкладки пробелами во всех файлах проекта:
Ctrl+Shif+F
^\A(.*)$
Your dir
Заменить на
\1
Это приведет к открытию всех файлов проекта, а их буфер будет помечен как грязный. Благодаря этому вы теперь можете при желании включить следующие параметры Sublime Text, чтобы обрезать все файлы, замыкающие пробелы, и обеспечить новую строку в конце каждого файла.
Вы можете включить эти настройки, зайдя в меню
Preferences -> Settings
и добавив это содержимое в ваш файл настроек:"ensure_newline_at_eof_on_save": true,
"trim_trailing_white_space_on_save": true,
View -> Show Console (Ctrl+`)
и запустите команду:import threading; threading.Thread( args=(set(),), target=lambda counterset: [ (view.run_command( "expand_tabs", {"set_translate_tabs": True} ), print( "Processing {:>5} view of {:>5}, view id {} {}".format( len( counterset ) + 1, len( window.views() ), view.id(), ( "Finished converting!" if len( counterset ) > len( window.views() ) - 2 else "" ) ) ), counterset.add( len( counterset ) ) ) for view in window.views() ] ).start()
File -> Save All
источник
если у вас Mac, просто используйте параметр справки (обычно последний параметр в строке меню Mac), затем введите: «отступ с вкладки» и выберите ширину отступа вкладки
но, как правило, вы можете пойти по этому пути: вид -> отступ
источник
Используйте следующую команду, чтобы решить это:
источник
Вот как вы можете сделать это автоматически при сохранении: https://coderwall.com/p/zvyg7a/convert-tabs-to-spaces-on-file-save
К сожалению, пакет не работает, когда вы устанавливаете его из диспетчера пакетов.
источник