Подобно ESLint , мы должны иметь возможность принудительно применять отступы в 2 или 4 места с помощью таких опций:
[true, "spaces", 2]
[true, "spaces", 4]
Кроме того, было бы неплохо иметь параметр "detect"
(как предложено в # 122), который пытается угадать стиль отступа в файле и обеспечить согласованность:
[true, "detect"]
+1
+1 за принудительное количество пробелов.
+1
Будет ли это работать, только если отступ делится на количество настроенных пробелов?
{
theObject.something()
.more(); // 13 spaces.
}
Вышеупомянутый метод (выравнивание точек) не будет поддерживаться?
@ glen-84 Я вижу две возможности:
theObject.something().more()
является одним оператором, он будет проверять только уровень отступа в его начале.Я думаю, что у них обоих есть плюсы и минусы, но, наверное, здесь предпочтительнее второй.
: +1:
+1
@JKillian -> Я бы проголосовал за вариант №2, где проверяются операторы, а не каждая строка.
+1 вариант 2, проверка по выписке
@JKillian Спасибо. Второй вариант выглядит неплохо. знак равно
Изменить: я передумал .
+1 вариант 1
Хороший способ - ESLINT http://eslint.org/docs/rules/indent
+9000 SSJ3
Пожалуйста, ребята, как можно скорее внедрите опцию отступа в 4 пробела. Я начал много писать на машинописном тексте, и мне кажется, что отступ в два пробела по умолчанию очень плох. Некоторым людям действительно трудно увидеть уровень отступа в коде с двумя пробелами ...
@radarsu, вы можете .editorconfig .
@radarsu Прямо сейчас правило отступа просто определяет, есть ли у вас ошибка отступа, основываясь на том, как ваш код совпадает с предыдущим утверждением. Вы можете использовать отступ в четыре пробела и сделать правило счастливым (фактически, это то, что делает исходный код TSLint)
@JKillian хоть представляешь, как сложно с этим справиться? я хотел бы начать обеспечивать размер отступа. Я готов взломать его, если это не займет слишком много времени (только на следующей неделе).
Трудно сказать, насколько это будет сложно - я полагаю, что это будет по крайней мере непросто, ха-ха. Определенно дерзайте!
@mcriss @ strike-sbolel Пожалуйста, прекратите добавлять +1
комментарии.
Похоже, здесь предпринимаются аналогичные усилия https://github.com/buzinas/tslint-eslint-rules/issues/74
Я передумал , поскольку вариант 2 допускает такой код:
{
theObject.something()
.more() // 13 spaces.
.wrong()
.moreWrong();
}
В идеальном мире мы бы использовали вариант 1 с настройкой, позволяющей (или принудительно) размещать «обернутые» строки под последней точкой в предыдущей строке.
{
theObject.something()
.more() // 13 spaces.
.right() // Must be the same as above now, because the previous line used this indentation mode.
.moreRight();
}
Или:
{
theObject.something()
.more() // (4 x 2) spaces.
.right()
.moreRight();
}
С Рождеством Христовым !!!
https://github.com/buzinas/tslint-eslint-rules/blob/master/src/docs/rules/terIndentRule.md
Мы можем выпустить обновление, пожалуйста?
@owais улучшения еще не реализованы в ядре TSLint. Эта ссылка ведет к внешнему репо с настраиваемыми правилами.
Ой. Я не понимал, что смотрю на другое репо. :) Спасибо за ссылку. Думаю, я мог бы это использовать.
@adidahiya Это все еще что-то выдающееся, и стоит ли мне открывать пиар? Или было бы лучше использовать пользовательские правила, с которыми вы связались?
@pudgeball определенно будет рад принять PR (как указано на этикетке)
обратите внимание, что # 2723 не решает эту проблему. Он исправляет табуляции -> x пробелов и x пробелов -> табуляции, но не исправляет x пробелов -> y пробелов
по-прежнему нет обновлений по размеру отступа? ... запрос с 2015 года
@ dimitriy-k # 2723 только что слился, будет в следующем выпуске.
Как будет называться это правило? 😄
@dolanmiu это не новое правило. Это реализовано точно так, как указано в исходном описании проблемы. Просто нажмите на PR, который я связал.
@adidahiya Я использую последнюю версию tslint 5.3.2
И используя следующее:
"indent": [
true,
"spaces",
4
],
У меня есть файл, в котором 2 все 2 пробела, но он его не обнаружил! Я что-то делаю не так или есть ошибка?
@dolanmiu да, похоже, новая проблема, я также заметил, что # 2723 не работает так, как я ожидал. Я подал https://github.com/palantir/tslint/issues/2814
любые обновления?
"indent": [true, "spaces", 4]
у меня не работает
@ liul85 попробуйте установить tslint-eslint-rules и использовать terIndentRule
@leocaseiro спасибо, что поделились, я попробую.
Все еще не работает в tslint 5.11.0
"indent": [true, "spaces", 4]
все еще не работает ...
Самый полезный комментарий
@ dimitriy-k # 2723 только что слился, будет в следующем выпуске.