这些警告往往弊大于利,并污染我们的游戏机房。
用<!-- svelte-ignore a11y-no-onchange -->
等填充代码是不可接受的。
我们通常可以在rollup.config中对其进行过滤,但精打细算的方法是不可行的。
过滤这些内容的最佳方法是什么:
是时候介绍配置文件了吗?
您可以使用--compiler-warnings
选项,例如--compiler-warnings "css-unused-selector:ignore,unused-export-let:ignore"
将过滤掉所有css-unused-selector
和unused-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
,但是语言服务器仍在生成警告:
这在使用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。 这是完成的过程。
我不知道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.js
, language-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”命令时,如何抑制衰减? 我根本看不到任何“编译器警告”选项。 谢谢你。
最有用的评论
不,我不使用
lsp-mode
。 我使用neovim的内置LSP,它可以将某些选项传递给LSP。 这是完成的过程。我不知道
lsp-mode
处理此选项。 我从其wiki上快速阅读了,我认为这是可行的。 例如,它可以将一些选项传递给Lua LSP。 https://emacs-lsp.github.io/lsp-mode/page/lsp-lua-language-server/