Як змусити текст "Піднесене" відступити два пробіли на вкладці?


504

Чи є спосіб змусити Sublime Text 2 завжди відступати два пробіли на вкладці під час роботи з файлами Ruby?

Я знаю, що відступ можна встановити під view -> indentationменю меню, але воно не дотримується. Кожен раз, коли я відкриваю новий файл і вкладку, він повертається до чотирьох пробілів.


Підвищений дещо інший / дивний за замовчуванням. Хоча він може зберігати файл з декількома пробілами, редактор самостійно видаляє обидва пробіли, якщо ідентифікує його як відступ.
Лайм

Відповіді:


899

Якщо ви хочете його для всіх файлів, перейдіть до Preferences -> Settings - Default/User. Але, як свідчить декілька коментарів нижче, налаштування специфічних синтаксисів можуть обмежувати її лише вибраними вами мовами.

Щоб обмежити цю конфігурацію файлами Ruby, спочатку відкрийте файл Ruby в редакторі, а потім перейдіть до Preferences -> Settings - Syntax Specific. Це має відкрити вікно налаштувань з назвоюRuby.sublime-settings

Збережіть ці налаштування:

{
  "tab_size": 2,
  "translate_tabs_to_spaces": true,
  "detect_indentation": false
}

Повторіть для будь-яких інших типів синтаксису, відкривши файл цього типу та повернувшись до налаштувань, щоб відкрити правильний файл налаштувань для цього синтаксису.

Я відредагував це, щоб включити рядок "detect_indentation" для запитів у коментарях; Раніше я використовував Типовий / Користувач для встановлення розміру вкладки, і мені не потрібне виявлення вкладок, але чи це пов’язано з глобальним конфігурацією або через те, що я рідко відкриваю файли з вкладками, не знаю.

Перезапуск не повинен бути необхідним, хоча в деяких випадках це може бути.


11
Від вбудованої версії 2181. Ви можете налаштувати параметри з Налаштування -> Налаштування - За замовчуванням / Користувача. Найкраще розмістити його в налаштуваннях користувача, оскільки це призначений підхід.
Кевін Джалберт

20
@KevinJalbert (і DGM) Насправді він повинен помістити це в налаштування синтаксису, тому це впливає лише на файли Ruby.
Пол Гоффер

6
Зауважте, що значення є істинним, а не "правдивим".
земляLon

1
Це особливо корисно, оскільки власне документування веб-сайту Sublime Text неправильно пропонує використовувати camelCase замість підкреслення в клавішах налаштування ... все-таки. ( sublimetext.com/docs/indentation )
Ерік Голдберг

@EricGoldberg - Я не впевнений, як ви потрапили на цю сторінку документації, але якщо ви перейдете на сторінку sublimetext.com > Підтримка і в розділі Документація натисніть посилання Sublime Text 2, вас переведуть на sublimetext.com/docs/2 - звідти ви можете знайти документи на відступ, а клавіші налаштування правильно використовують підкреслення: sublimetext.com/docs/2/indentation.html
jbyrd

166

Якщо ви хочете примусити вибране налаштування вкладки, ігноруючи те, що, ймовірно, вже відбувається у файлі, тоді вам слід включити detect_indentationу вашу конфігурацію (ваші налаштування користувача чи ваші налаштування синтаксису, залежно від того, чи хочете ви це глобально чи на певний тип файлу):

{
    "tab_size": 2,
    "translate_tabs_to_spaces": true,
    "detect_indentation": false
}

Дякую за пораду! Без detect_indentationвимкнення я отримував дуже дивну поведінку (він виявляв відступ неправильно і використовував це замість того, що я вказав у своїх налаштуваннях).
JacobEvelyn

Це в налаштуваннях за замовчуванням працювало для мене. Переконайтеся, що ви переконалися, чи вже така установка існує. Якщо ви додасте його і буде оголошено пізніше як істинне, воно залишиться встановленим як істинне.
David David

3
Майте на увазі, що зміни в налаштуваннях за замовчуванням будуть замінені оновленнями піднесеного тексту тощо. Зміни в налаштуваннях користувача не будуть замінені.
Джеймс Шевальє

6
ДЯКУЮ ТОБІ!! "detect_indentation":falseє критичним ще інші параметри ігноруються. нарешті!
zzzeek

Це хороший момент, але ваш приклад недоречно з відступом ;-)
snow6oy

88

Ви також можете це зробити за допомогою текстового посилання на нижньому рядку Sublime Text 2 (Праворуч), де за замовчуванням написано "Розмір вкладки 4", натисніть це, і у вікні з'явиться параметр встановити розмір вкладки з 1 місця до 8 пробілів і включає варіанти перетворення вкладок у пробіли та пробіли до вкладок.

Виглядає так:

Параметри вкладок у піднесеному тексті 2


3
Чудова порада, але чи знаєте ви, чи це стане клейкою обстановкою? Наприклад, зміна відступу з верхнього меню стосується лише поточного відкритого файлу, а не інших, що було моєю оригінальною проблемою.
Мухаммад

5
Це не працює . Це хороша порада, але це не липко: закриття та повторне відкриття файлу (або відкриття іншого файлу) повертає відступ на чотири пробіли.
Мухаммад

1
Так, це не липко, це за файл. Вам потрібно зайти в налаштування Sublime Text, щоб налаштувати налаштування за замовчуванням для вкладок / пробілів.
Завдання

Це вирішило мою проблему в піднесеному тексті 3. Дякую!
Адріан

29

Чи можу я запропонувати EditorConfig ? Існує розширення для автоматичного завантаження та застосування .editorconfigфайлу. Тоді просто створіть його в корені вашого проекту.

.editorconfig

[*.rb]
indent_style = tab
indent_size = 2

Таким чином, ваші налаштування залежать від проекту та файлу, якщо ви використовуєте різні стилі для кожного проекту чи мови.


Ось як .editorconfigвиглядає моя власна .

# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

2
Я не хотів робити це глобальною зміною. Тож це було єдине рішення, яке спрацювало. Я провів кілька досліджень EditorConfig, і це виглядає дуже приємно для IDE, які його підтримують.
Ніл Монро

1
Так вийшло, що я вже мав .editorconfig у своєму проекті і навіть не знав цього. (
angular

9

Я використовую пакет " Дурний відступ" .

Install Package -> Stupid Indent

Preferences-> Package Settings-> Stupid Indent->Setting-Users

Скопіюйте налаштування ( Rubyчастини) в.

{
    "configuration":
    [
        {
            "patterns": ["*.rb"],
            "tab_size": 2,
            "translate_tabs_to_spaces": true
        }
    ]
}

так це мені потрібно: D
Dragutescu Alexandru

Дивовижно. Велике спасибі :)
krithikaGopalakrisnan

ПОПЕРЕДЖЕННЯ . Дурний відступ за замовчуванням та власні налаштування змушують перезаписати параметри Sublime Text та EditorConfig . Дякую.
Саша Черных

1

Я дотримувався попередніх відповідей, включаючи додавання рядка detect_indentation, і в моїх вкладках було ще п'ять пробілів. Тоді я зрозумів, що вибір Preferences -> Settings -> More -> Syntax Specific -> Userз рубінового файлу Ruby on Rails.sublime-settingsдля мене відкривається , а неRuby.sublime-settings .

Я перейменував свій Ruby on Rails.sublime-settingsфайл у Ruby.sublime-settings. Нарешті спрацювали два пробіли! Я пішов вперед і вклав ті самі налаштування Ruby on Rails.sublime-settings, щоб бути впевненим.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.