Language-tools: la mise en évidence css inutilisée est toujours foirée

Créé le 14 sept. 2020  ·  14Commentaires  ·  Source: sveltejs/language-tools

Décrivez le bogue
Lorsque vous utilisez des blocs de style SCSS, les lignes jaunes ondulées CSS inutilisées ne s'affichent pas au bon endroit.

image

Il devrait mettre en évidence la classe .introduction , mais il met en évidence la propriété height (ou toute dernière propriété du premier style défini) à la place.

Lorsque vous revenez à un bloc CSS normal sans l'attribut lang , cela fonctionne très bien.

Reproduire

  1. Créer un composant simple avec quelques éléments
  2. Ajoutez du CSS vanille utilisé et inutilisé sans fonctions SCSS ou sucre de syntaxe
  3. Remplacez <style> par <style lang="scss">

Comportement prévisible
Fonctionne de la même manière que lorsqu'il s'agit d'un bloc <style> normal

Captures d'écran
Voir au dessus

Système (veuillez compléter les informations suivantes):

  • OS: Windows
  • IDE: VScode
  • Plugin / Package: "Svelte for VSCode"

Contexte supplémentaire
Aucun plug-in ou extension supplémentaire n'a été activé lors de la capture d'écran. J'ai même redémarré vscode au cas où.

bug

Commentaire le plus utile

Cela devrait être corrigé avec la version 4.6.1 de svelte-preprocess .

Tous les 14 commentaires

Pourriez-vous s'il vous plaît poster l'extrait de code qui vous a donné les gribouillis à cette ligne?

Pourriez-vous s'il vous plaît poster l'extrait de code qui vous a donné les gribouillis à cette ligne?

Le code que vous utilisez ne devrait pas avoir d'importance. Cela commence rapidement à se briser de mon côté. Plus il y a de code, plus ça empire.

Voici une REPL rapide:
https://svelte.dev/repl/97a01882d3444d77ad2a62480e310921?version=3.25.0

Dans mon IDE, avec l'attribut SCSS
image

sans l'attribut:
image

Merci. Je dois vérifier si les lignes sont décalées d'un certain décalage, mais en général, je crains que nous ne puissions pas faire grand-chose puisque nous nous appuyons sur des cartes sources et si elles sont fausses / pas si bonnes, alors nous ne pouvons rien faire.

Cartes source générées lors de la transpilation de SCSS vers CSS. Nous devons le faire avant de passer le code au compilateur Svelte (qui donne les avertissements inutilisés) car il ne peut traiter que du CSS.

Les sourcemaps sont-ils quelque chose que je peux corriger de mon côté? Ou est-ce un problème avec le prétraitement svelte? rollup?
Heureusement pour moi, je sais ce que css j'écris et le html que je supprime, donc je peux m'en occuper pour le moment. Y a-t-il un moyen sain de les désactiver au cas où je devrais le faire?

https://github.com/sveltejs/svelte/pull/5015 doit être fusionné pour la prise en charge du sourcemap du préprocesseur

Les sourcemaps sont-ils quelque chose que je peux corriger de mon côté? Ou est-ce un problème avec le prétraitement svelte? rollup?

Le compilateur scss ( node-sass / sass , dépend de ce que vous utilisez) produit les cartes sources.

Heureusement pour moi, je sais ce que css j'écris et le html que je supprime, donc je peux m'en occuper pour le moment. Y a-t-il un moyen sain de les désactiver au cas où je devrais le faire?

Si vous souhaitez désactiver globalement certains avertissements, vous pouvez le faire via cette option .

sveltejs / svelte # 5015 doit être fusionné pour la prise en charge du sourcemap du préprocesseur

Pas pour les outils de langage, pour le moment, nous faisons nous-mêmes la cartographie (mais nous pouvons, espérons-le, jeter tout un tas de code une fois que cela arrive).

sveltejs / svelte # 5015 doit être fusionné pour la prise en charge du sourcemap du préprocesseur

Il semble que ce soit une pull request relativement populaire. Une raison connue pour laquelle il n'a pas encore été fusionné?

C'est haut sur notre radar. Ce n'est pas encore dans un état fusionnable. J'ai laissé quelques commentaires là-dessus.

J'ai vérifié mais je n'ai pas pu reproduire les décalages de ligne que vous rencontrez lorsque vous n'utilisez que SCSS. Utilisez-vous également PostCSS? Je ne peux reproduire que si j'utilise également PostCSS. Si tel est le cas, la raison en est l'absence de cartes source de PostCSS. J'ai ouvert ce numéro à svelte-preprocess pour cela.

Désolé pour la réponse tardive. J'ai https://www.npmjs.com/package/postcss-load-config installé. C'est à peu près ça.

Cela signifie donc que vous utilisez postcss, donc postcss: true fait partie de la configuration de votre préprocesseur? Si tel est le cas, ce problème sera résolu après la résolution du problème dans svelte-preprocess .

Cela signifie donc que vous utilisez postcss, donc postcss: true fait partie de la configuration de votre préprocesseur?

Si postcss est défini sur true par défaut, oui.

Si tel est le cas, ce problème sera résolu après la résolution du problème dans svelte-preprocess.

👀

Cela devrait être corrigé avec la version 4.6.1 de svelte-preprocess .

Cette page vous a été utile?
0 / 5 - 0 notes