Estas advertencias a menudo hacen más daño que bien y contaminan el espacio de nuestra consola.
No es aceptable ensuciar el código con <!-- svelte-ignore a11y-no-onchange -->
etc.
Por lo general, podemos filtrarlos en rollup.config, pero svelte-check no lo seleccionará.
¿Cuál es la mejor manera de filtrar estos?
¿Quizás es hora de introducir un archivo de configuración?
Puede usar la opción --compiler-warnings
, por ejemplo, --compiler-warnings "css-unused-selector:ignore,unused-export-let:ignore"
filtrará todas las advertencias de css-unused-selector
y unused-export-let
. Consulte el archivo Léame de svelte-check para obtener más información.
Acerca de VS Code: siempre puede agregar un json de configuración de espacio de trabajo a su repositorio que todos los usuarios heredarán. No me atrevo a poner esto dentro de svelte.config.js
ya que no hay un acuerdo oficial en qué dirección irá este archivo de configuración, por lo que no quiero agregar cosas apresuradamente allí.
Gracias.
El --compiler-warnings
haría el trabajo para el cli, sí. En cuanto a la configuración del espacio de trabajo json, ¿es algo que usa a menudo además de .editorconfig
?
Bueno, si todos usan VS Code y están de acuerdo con ciertas configuraciones, ciertamente lo usaría; después de todo, también es una especie de archivo de configuración. Lo hacemos en uno de nuestros proyectos ahora mismo.
¿Esto también se aplica al servidor de idiomas? ¿O solo para comprobarlo? Intenté ejecutar el servidor de idiomas como svelteserver --stdio --compiler-warnings a11y-autofocus:ignore,a11y-no-onchange:ignore
, sin embargo, el servidor de idiomas sigue produciendo advertencias:
Esto está en Emacs usando lsp-mode.
Esto solo se aplica a vscode y svelte-check. ¿Cómo se integran otros IDE con el servidor de idiomas? El servidor de idiomas espera un objeto de configuración (estructura como en el léame de la extensión vscode) en el inicio durante el comando de inicialización de acuerdo con el protocolo del servidor de idiomas.
Entendido. Todos los clientes de servidor de idiomas con todas las funciones, incluido el modo lsp en Emacs, tienen soporte para pasar una configuración a través de JSONRPC al servidor. Ahora que entiendo dónde se pretende configurar esto , debería ser sencillo mejorar el módulo Svelte en modo lsp para conectar esa clave de configuración a una opción de usuario conveniente. En consecuencia, abriré un problema contra lsp-mode.
Probablemente valdría la pena mencionar esto explícitamente en el archivo README: "La configuración del servidor de idiomas se realiza a través del protocolo LSP al pasar un objeto de configuración; su cliente LSP debe tener una forma de configurar el objeto de configuración para un servidor. Aquí hay un enlace a la especificación de la configuración que se admite [...] "
También podría valer la pena analizar las opciones de la línea de comandos y / o arrojar un error cuando se pasa alguna; No me quedó claro si las opciones de la línea de comandos eran compatibles, ya que --help
no funcionó como se esperaba.
Gracias por tu ayuda.
@elianiva en un número reciente mencionaste que también ejecutaste el LSP directamente y habla @ raxod502, por lo que podría ser de ayuda?
no, no uso lsp-mode
. Utilizo el LSP incorporado de neovim y puede pasar algunas opciones al LSP. Así es como se hace.
No sé cómo lsp-mode
manejar esta opción. Hice una lectura rápida de su wiki y creo que es posible hacerlo. Puede pasar algunas opciones a Lua LSP, por ejemplo. https://emacs-lsp.github.io/lsp-mode/page/lsp-lua-language-server/
Sí, esto es totalmente compatible con lsp-mode y de una manera bastante avanzada: cada clave de configuración se puede asignar fácilmente a una opción de usuario documentada por separado. Aquí hay un ejemplo para gopls: https://github.com/emacs-lsp/lsp-mode/blob/0349a1cc0976829fab8f73ecc033252be31a7cf6/clients/lsp-go.el#L215 -L221
@dummdidumm Yo también decidí probar neovim-lsp
, y funciona de manera brillante incluso con paquetes de hilo 2 empaquetados en zip, gracias a la opción cmd reemplazable:
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
}
}
}
}
El archivo Léame de language-server
carece de opciones de configuración, que he encontrado en el paquete svelte-vscode
. :pensando:
Más editores realizan sus implementaciones lsp, por lo que es mejor tener opciones en el archivo Léame de language-server
también.
¿Quieres que haga un readme PR que aclare el proceso de configuración para neovim-lsp
y haga un enlace a las opciones lsp que se describen en el paquete svelte-vscode
?
Por alguna razón, al analizar svelte.config.js
, language-server
ignora onwarn
, pero usa preprocess
. ¿Es eso intencionado?
Siento que es más sencillo configurar eso desde svelte.config.js
.
Parece que no puede hacer que compilerWarnings
ignore funcione pasando opciones de neovim-lsp
. :decepcionado:
const sveltePreprocess = require('svelte-preprocess');
module.exports = {
preprocess: sveltePreprocess(),
onwarn: (warning, handler) => {
if (warning.code === 'a11y-no-onchange') return;
handler(warning);
},
};
@ non25 esto debería funcionar porque es svelte.plugin.svelte.compilerWarnings
, no svelte.compilerWarnings
lspconfig.svelte.setup{
cmd = { "yarn", "svelteserver", "--stdio" };
on_attach = on_attach;
settings = {
svelte = {
plugin = {
svelte = {
compilerWarnings = {
["a11y-no-onchange"] = "ignore"
}
}
}
}
}
}
¿Cómo suprimo una menguante cuando uso, por ejemplo, el comando "sapper dev"? No veo ninguna opción de "advertencias del compilador" en absoluto. Gracias.
Comentario más útil
no, no uso
lsp-mode
. Utilizo el LSP incorporado de neovim y puede pasar algunas opciones al LSP. Así es como se hace.No sé cómo
lsp-mode
manejar esta opción. Hice una lectura rápida de su wiki y creo que es posible hacerlo. Puede pasar algunas opciones a Lua LSP, por ejemplo. https://emacs-lsp.github.io/lsp-mode/page/lsp-lua-language-server/