Language-tools: Comment désactiver les avertissements sveltes? (a11y, etc.)

Créé le 2 nov. 2020  ·  12Commentaires  ·  Source: sveltejs/language-tools

Ces avertissements font souvent plus de mal que de bien et polluent notre espace console.
Il n'est pas acceptable de jeter le code avec <!-- svelte-ignore a11y-no-onchange --> etc.

Nous pouvons généralement les filtrer dans le fichier rollup.config, mais svelte-check ne le choisira pas.

Quelle est la meilleure façon de les filtrer:

  • dans la console lors de l'utilisation de svelte-check --watch
  • dans VScode (sans avoir à dire à tout le monde d'ajouter manuellement des tonnes d'entrées dans leurs préférences IDE)

Est-il temps peut-être d'introduire un fichier de configuration?

question

Commentaire le plus utile

non, je n'utilise pas lsp-mode . J'utilise le LSP intégré de neovim et il peut transmettre certaines options au LSP. Voici comment procéder.

image

Je ne sais pas comment lsp-mode gère cette option. J'ai fait une lecture rapide de son wiki et je pense que c'est possible de le faire. Il peut transmettre certaines options à Lua LSP par exemple. https://emacs-lsp.github.io/lsp-mode/page/lsp-lua-language-server/

Tous les 12 commentaires

Vous pouvez utiliser l'option --compiler-warnings , par exemple --compiler-warnings "css-unused-selector:ignore,unused-export-let:ignore" filtrera tous les avertissements css-unused-selector et unused-export-let . Consultez le fichier readme de svelte-check pour plus d'informations.
À propos de la chose VS Code: vous pouvez toujours ajouter un json de paramètres d'espace de travail à votre dépôt dont tous les utilisateurs hériteront. J'hésite à mettre cela à l'intérieur de svelte.config.js car il n'y a pas d'accord officiel dans quelle direction ce fichier de configuration ira donc je ne veux pas y ajouter des choses précipitamment.

Merci.

Le --compiler-warnings ferait le travail pour le cli, oui. En ce qui concerne les paramètres de l'espace de travail json, est-ce quelque chose que vous utilisez souvent en plus d'un .editorconfig ?

Eh bien, si vous utilisez tous VS Code et que vous êtes d'accord sur certains paramètres, je l'utiliserais certainement - c'est aussi une sorte de fichier de configuration, après tout. Nous le faisons dans l'un de nos projets en ce moment.

Cela s'applique-t-il également au serveur de langues? Ou seulement pour vérifier svelte? J'ai essayé d'exécuter le serveur de langue en tant que svelteserver --stdio --compiler-warnings a11y-autofocus:ignore,a11y-no-onchange:ignore , mais le serveur de langue produit toujours des avertissements:

image

C'est dans Emacs en utilisant le mode lsp.

Cela s'applique uniquement à vscode et svelte-check. Comment les autres IDE s'intègrent-ils au serveur de langues? Le serveur de langue attend un objet de configuration (structure comme dans l'extension vscode readme) au démarrage lors de la commande d'initialisation selon le protocole du serveur de langue.

Je t'ai eu. Tous les clients de serveur de langue complets, y compris le mode lsp sous Emacs, prennent en charge la transmission d'une configuration via JSONRPC au serveur. Maintenant que je comprends où cela doit être configuré , il devrait être simple d'améliorer le module Svelte en mode lsp pour accrocher cette clé de configuration à une option utilisateur pratique. Je vais ouvrir un problème contre le mode lsp en conséquence.

Il vaudrait probablement la peine de le mentionner explicitement dans le README: "La configuration du serveur de langue se fait via le protocole LSP en passant un objet de configuration; votre client LSP devrait avoir un moyen de définir l'objet de configuration pour un serveur. Voici un lien vers la spécification de la configuration prise en charge [...] "

Cela peut également valoir la peine d'analyser les options de ligne de commande et / ou de renvoyer une erreur lorsqu'elles sont passées; il n'était pas clair pour moi si les options de ligne de commande étaient prises en charge, car --help ne fonctionnait pas comme prévu.

Merci de votre aide.

@elianiva dans un numéro récent, vous avez mentionné que vous utilisiez le même mode LSP que

non, je n'utilise pas lsp-mode . J'utilise le LSP intégré de neovim et il peut transmettre certaines options au LSP. Voici comment procéder.

image

Je ne sais pas comment lsp-mode gère cette option. J'ai fait une lecture rapide de son wiki et je pense que c'est possible de le faire. Il peut transmettre certaines options à Lua LSP par exemple. https://emacs-lsp.github.io/lsp-mode/page/lsp-lua-language-server/

Oui, cela est entièrement pris en charge par lsp-mode, et d'une manière assez avancée: chaque clé de configuration peut être facilement mappée à une option utilisateur documentée séparément. Voici un exemple pour gopls: https://github.com/emacs-lsp/lsp-mode/blob/0349a1cc0976829fab8f73ecc033252be31a7cf6/clients/lsp-go.el#L215 -L221

@dummdidumm J'ai moi aussi décidé d'essayer neovim-lsp , et cela fonctionne à merveille même avec les paquets yarn 2 compressés, grâce à l'option cmd remplaçable:

lspconfig.tsserver.setup{
  cmd = { "yarn", "typescript-language-server", "--stdio" };
  on_attach = on_attach;
}

lspconfig.svelte.setup{
  cmd = { "yarn", "svelteserver", "--stdio" };
  on_attach = on_attach;
  settings = {
    svelte = {
      compilerWarnings = {
        ["a11y-no-onchange"] = "ignore"; -- <<< This doesn't work, svelte still spams me with this warning
      }
    }
  }
}

Le fichier readme de language-server ne dispose pas d'options de configuration, que j'ai trouvées dans le package svelte-vscode . :pensée:
Plus d'éditeurs font leurs implémentations lsp, il est donc préférable d'avoir des options dans le readme de language-server aussi.
Voulez-vous que je fasse un readme PR qui clarifie le processus de configuration pour neovim-lsp et crée un lien vers les options lsp qui sont décrites dans le package svelte-vscode ?

Pour une raison quelconque, lors de l'analyse de svelte.config.js , language-server ignore onwarn , mais utilise preprocess . Est-ce que c'est prévu?
J'ai l'impression qu'il est plus simple de configurer cela à partir de svelte.config.js .
Impossible d'obtenir compilerWarnings ignore pour fonctionner en passant des options de neovim-lsp . :déçu:

const sveltePreprocess = require('svelte-preprocess');

module.exports = {
  preprocess: sveltePreprocess(),
  onwarn: (warning, handler) => {
    if (warning.code === 'a11y-no-onchange') return;
    handler(warning);
  },
};

@ non25 cela devrait fonctionner car c'est svelte.plugin.svelte.compilerWarnings , pas svelte.compilerWarnings

lspconfig.svelte.setup{
  cmd = { "yarn", "svelteserver", "--stdio" };
  on_attach = on_attach;
  settings = {
    svelte = {
      plugin = {
        svelte = {
          compilerWarnings = {
            ["a11y-no-onchange"] = "ignore"
          }
        }
      }
    }
  }
}

Comment supprimer un déclin lorsque j'utilise par exemple la commande "sapper dev"? Je ne vois aucune option "compiler-warnings" du tout. Merci.

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