Semelhante ao ESLint , devemos ser capazes de impor recuo de 2 ou 4 espaços por meio de opções como:
[true, "spaces", 2]
[true, "spaces", 4]
Além disso, seria bom ter uma opção "detect"
(como sugerido em # 122) que tenta adivinhar o estilo de indentação em um arquivo e reforçar a consistência:
[true, "detect"]
+1
+1 para reforçar o número de espaços.
+1
Isso só funcionaria se o recuo fosse divisível pelo número de espaços configurados?
{
theObject.something()
.more(); // 13 spaces.
}
O método acima (alinhar os períodos) não seria compatível?
@ glen-84 vejo duas possibilidades:
theObject.something().more()
é uma única instrução, ela verificaria apenas o nível de indentação no início dela.Acho que ambos têm prós e contras, mas o segundo provavelmente é o preferido aqui.
: +1:
+1
@JKillian -> Eu votaria na opção # 2, onde as declarações são verificadas, não todas as linhas.
+1 opção 2, verificando declaração por declaração
Obrigado @JKillian . A segunda opção parece boa. =)
Edit: Eu mudei de ideia .
+1 opção 1
Uma boa forma é o ESLINT um http://eslint.org/docs/rules/indent
+9000 SSJ3
Por favor, pessoal, implementem a opção de recuo de 4 espaços o mais rápido possível. Comecei a programar bastante em datilografado e o recuo padrão de 2 espaços parece tão ruim para mim. Para algumas pessoas é realmente difícil ver o nível de indentação de algum código com apenas 2 espaços ...
@radarsu você pode querer tentar usar .editorconfig por enquanto.
@radarsu No momento, a regra de recuo apenas descobre se você tem um erro de recuo com base em como seu código se alinha com a instrução anterior. Você é capaz de usar quatro indentações de espaço e tornar a regra feliz (na verdade, é isso que o código-fonte do TSLint faz)
@JKillian tem ideia de como isso seria difícil de resolver? Eu adoraria começar a aplicar o tamanho do recuo. Estou aberto para hackear isso se não for um desperdício de tempo (só tenho muito tempo na próxima semana).
Difícil dizer o quão difícil seria - eu espero que não seja pelo menos simples haha. Definitivamente vá em frente!
@mcriss @ strike-sbolel Pare de adicionar +1
comentários.
Parece que esforços semelhantes estão sendo feitos aqui https://github.com/buzinas/tslint-eslint-rules/issues/74
Mudei de ideia , pois a opção 2 permitiria códigos como:
{
theObject.something()
.more() // 13 spaces.
.wrong()
.moreWrong();
}
Em um mundo ideal, usaríamos a opção 1 com uma configuração para permitir (ou forçar) que as linhas "quebradas" fossem posicionadas abaixo do último ponto na linha anterior.
{
theObject.something()
.more() // 13 spaces.
.right() // Must be the same as above now, because the previous line used this indentation mode.
.moreRight();
}
Ou:
{
theObject.something()
.more() // (4 x 2) spaces.
.right()
.moreRight();
}
Feliz Natal a todos !!!
https://github.com/buzinas/tslint-eslint-rules/blob/master/src/docs/rules/terIndentRule.md
Podemos lançar uma atualização, por favor?
@owais as melhorias ainda não foram implementadas no núcleo do TSLint. Esse link é para um repositório externo com regras personalizadas.
Oh. Não percebi que estava olhando para outro repo. :) Obrigado pelo link. Acho que posso usar isso.
@adidahiya Isso ainda é algo notável e vale a pena abrir um PR? Ou seria melhor usar as regras personalizadas às quais você se vinculou?
@pudgeball definitivamente ficaria feliz em aceitar um PR (conforme indicado pela gravadora)
observe que # 2723 não corrige esse problema. Ele corrige tabulações -> espaços x e espaços x -> tabulações, mas não corrige espaços x -> espaços y
ainda sem atualizações no tamanho do recuo? ... a solicitação é de 2015
@ dimitriy-k # 2723 acabou de fundir, estará no próximo lançamento.
Qual será o nome dessa regra? 😄
@dolanmiu não é uma regra nova. Ele é implementado exatamente conforme observado na descrição do problema original. Basta clicar no link PR I.
@adidahiya Estou usando a versão atual mais recente do tslint 5.3.2
E usando o seguinte:
"indent": [
true,
"spaces",
4
],
Eu tenho um arquivo que tem 2 todos os 2 espaços, mas não foi detectado! Estou fazendo algo errado ou há um bug?
@dolanmiu sim, parece um novo problema, também notei que o # 2723 não funcionou como eu esperava. Eu preenchi https://github.com/palantir/tslint/issues/2814
alguma atualização?
"indent": [true, "spaces", 4]
não funciona para mim
@ liul85 tente instalar tslint-eslint-rules e usar terIndentRule
@leocaseiro obrigado por compartilhar, vou dar uma chance.
Ainda não está funcionando no tslint 5.11.0
"indent": [true, "spaces", 4]
ainda não está funcionando ...
Comentários muito úteis
@ dimitriy-k # 2723 acabou de fundir, estará no próximo lançamento.