É possível exibir caixas de cores antes de qualquer nome de classe TailwindCSS relacionado a cores, independentemente de onde eu escreva o nome da classe TailwindCSS?
Notei que isso funciona perfeitamente em arquivos CSS ou dentro do HTML class
ou className
atributos (por exemplo, border-error-400
na segunda foto).
Eu imagino que isso deva funcionar em todo o código, mas fiquei decepcionado ao descobrir que, como mostrado na captura de tela anexa, a caixa indicadora de cor não aparece quando uma classe de cor TailwindCSS é escrita como o valor de um objeto JS.
TLDR : Embora as primeiras soluções respondam especificamente ao exemplo da pergunta, sugiro que você considere uma abordagem muito mais consistente: criar uma função para a qual você sempre passe apenas classes TailwindCSS. Em seguida, informe ao IntelliSense que a função chamada xy aceitará apenas classes TailwindCSS, portanto, ele deve tratá-la adequadamente. Veja mais: Solução nº 3 .
Bem, verifiquei minha sugestão e sim; o TailwindCSS IntelliSense aplica totalmente todos os seus recursos com base nos padrões regex corretos.
Nota : Um pré-requisito para a validação adequada da minha resposta é a instalação do TailwindCSS IntelliSense.
Solução nº 1 para objetos JavaScript simples
Isso lhe dá a resposta correta, embora eu não ache que seja a melhor maneira. Com regex, podemos declarar a sintaxe de objetos JS para que ele tente procurar nomes de classes TailwindCSS em todas as strings colocadas como valores e sugerir nomes de classes TailwindCSS como dicas.
TailwindCSS IntelliSense com esta configuração:
Nota : Para abrir as configurações, pressione CtrlPe digite
Preferences: Open User Settings (JSON)
.Importante : A desvantagem é que será válido para todos os objetos. Acho que isso pode ser um desperdício de energia e uma complicação desnecessária do processo.
Solução nº 2 para variáveis JavaScript simples
Semelhantemente aos objetos, regex também pode ser escrito para variáveis.
TailwindCSS IntelliSense com esta configuração:
Nota : Para abrir as configurações, pressione CtrlPe digite
Preferences: Open User Settings (JSON)
.Importante : A desvantagem recorrente, mais uma vez, é que isso será válido para todas as strings. Acho que isso pode ser um desperdício de energia e uma complicação desnecessária do processo.
Solução #3 com uma função especial (recomendado)
A vantagem da função é que sempre que você quiser usar uma classe TailwindCSS, basta chamá-la e ela funcionará imediatamente, enquanto a solução anterior só estará disponível em objetos JS.
Em vez de depender de expressões regulares, recomendo criar uma função "falsa" que aceite uma string como parâmetro e simplesmente retorne esse parâmetro como resultado. Dessa forma, você pode informar explicitamente ao TailwindCSS IntelliSense que os parâmetros passados para essa função definitivamente contêm nomes de classes do TailwindCSS, para que ela funcione corretamente e consistentemente em qualquer lugar posteriormente.
E os parâmetros da
tw
função serão manipulados corretamente pelo TailwindCSS IntelliSense com esta configuração:Nota : Para abrir as configurações, pressione CtrlPe digite
Preferences: Open User Settings (JSON)
.Observação : A
tw
função não precisa ser muito complicada. Eu simplesmente permiti que ela aceitasse os três tipos básicos de entradas de string. Todos os três estilos de invocação retornam uma única string concatenada. Por exemplo, emexample_4
, o resultado seria"bg-red-500 text-green-400"
.As caixas de cores são exibidas apenas em className. É claro que você pode fazer isso instalando a extensão "Color Highlight" e convertendo as cores para HEX. Por exemplo, em vez de escrever "bg-red-600", escreva "#e7000b".