Language-tools: 我们如何禁用严重警告? (a11y等)

创建于 2020-11-02  ·  12评论  ·  资料来源: sveltejs/language-tools

这些警告往往弊大于利,并污染我们的游戏机房。
<!-- svelte-ignore a11y-no-onchange -->等填充代码是不可接受的。

我们通常可以在rollup.config中对其进行过滤,但精打细算的方法是不可行的。

过滤这些内容的最佳方法是什么:

  • 在控制台上使用svelte-check --watch时
  • 在VScode中(无需告诉每个人在其IDE首选项中手动添加大量条目)

是时候介绍配置文件了吗?

question

最有用的评论

不,我不使用lsp-mode 。 我使用neovim的内置LSP,它可以将某些选项传递给LSP。 这是完成的过程。

image

我不知道lsp-mode处理此选项。 我从其wiki上快速阅读了,我认为这是可行的。 例如,它可以将一些选项传递给Lua LSP。 https://emacs-lsp.github.io/lsp-mode/page/lsp-lua-language-server/

所有12条评论

您可以使用--compiler-warnings选项,例如--compiler-warnings "css-unused-selector:ignore,unused-export-let:ignore"将过滤掉所有css-unused-selectorunused-export-let警告。 有关更多信息,请参见svelte-check自述文件。
关于VS Code:您始终可以将工作区设置json添加到所有用户都将继承的仓库中。 我不愿意将其放在svelte.config.js因为此配置文件的方向尚无正式协议,因此我不想匆忙在此添加内容。

谢谢。

--compiler-warnings可以完成cli的工作,是的。 至于工作区设置json,除了.editorconfig之外,您还经常使用吗?

好吧,如果你们所有人都使用VS Code并且您同意某些设置,那么我肯定会使用它-毕竟,它也是一种配置文件。 我们现在在我们的一个项目中做到这一点。

这也适用于语言服务器吗? 还是只为了苗条? 我尝试将语言服务器运行为svelteserver --stdio --compiler-warnings a11y-autofocus:ignore,a11y-no-onchange:ignore ,但是语言服务器仍在生成警告:

image

这在使用lsp-mode的Emacs中。

这仅适用于vscode和svelte-check。 其他IDE如何与语言服务器集成? 根据语言服务器协议,在初始化命令期间,语言服务器在启动时会期望有一个配置对象(结构与vscode扩展自述文件相同)。

知道了所有功能齐全的语言服务器客户端,包括Emacs下的lsp-mode,都支持通过JSONRPC将配置传递给服务器。 现在,我知道应该在哪里配置它,应该可以很容易地以lsp模式增强Svelte模块,以便将该配置密钥挂接到方便的用户选项上。 我将相应地针对lsp-mode打开一个问题。

可能值得在自述文件中明确提及:“语言服务器的配置通过传递配置对象而通过LSP协议进行;您的LSP客户端应有一种为服务器设置配置对象的方法。这是指向的链接支持的配置的规格[...]“

实际上,解析命令行选项和/或在传递任何错误时抛出错误也可能是值得的。 我不清楚是否支持命令行选项,因为--help不能按预期运行。

谢谢你的帮助。

@elianiva在您最近提到的问题中提到,您也可以直接运行LSP并能够配置某些设置-您使用相同的LSP模式@ raxod502谈论的任何机会都可以帮上忙吗?

不,我不使用lsp-mode 。 我使用neovim的内置LSP,它可以将某些选项传递给LSP。 这是完成的过程。

image

我不知道lsp-mode处理此选项。 我从其wiki上快速阅读了,我认为这是可行的。 例如,它可以将一些选项传递给Lua LSP。 https://emacs-lsp.github.io/lsp-mode/page/lsp-lua-language-server/

是的,lsp-mode完全支持此功能,并且以相当高级的方式支持:每个配置键都可以轻松映射到单独记录的用户选项。 这是gopls的示例: https :

@dummdidumm我也决定尝试neovim-lsp ,并且由于使用了可覆盖的cmd选项,即使使用2个拉链纱包装,它也可以很好地工作:

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
      }
    }
  }
}

language-server的自述文件缺少配置选项,我在svelte-vscode软件包中找到了这些选项。 :思维:
更多的编辑器使用lsp来实现,因此最好在language-server的自述文件中也提供选项。
您是否要我做一个自述文件PR,以阐明neovim-lsp配置过程,并链接到svelte-vscode软件包中描述的lsp选项?

出于某些原因,在解析svelte.config.jslanguage-server忽略onwarn ,而是使用preprocess 。 那是故意的吗?
我觉得从svelte.config.js进行配置更简单。
似乎无法通过传递neovim-lsp选项来使compilerWarnings忽略工作。 :失望的:

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

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

@ non25这应该工作,因为它是svelte.plugin.svelte.compilerWarnings ,而不是svelte.compilerWarnings

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

使用“ sapper dev”命令时,如何抑制衰减? 我根本看不到任何“编译器警告”选项。 谢谢你。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

brunnerh picture brunnerh  ·  3评论

matthewmueller picture matthewmueller  ·  5评论

JAD3N picture JAD3N  ·  5评论

baileyherbert picture baileyherbert  ·  3评论

maximedupre picture maximedupre  ·  5评论