Búsqueda de sitios web

typescript - ¿Cómo desactivo: [js] El archivo es un módulo CommonJS; puede convertirse en un módulo ES6?


Lo siguiente es lo que quiero desactivar:

No puedo encontrarlo en la configuración.
Se agradece la ayuda ya que esto es realmente molesto.

Respuesta #1

Esta es una nueva función añadida en Visual Studio Code llamada "Acciones de Código Sugeridas". "Acciones de Código Sugeridas" están habilitadas por defecto en JavaScript y TypeScript.

Puedes desactivarlos configurando: "typescript.suggestionActions.enabled": false o "javascript.suggestionActions.enabled": false en la configuración de tu usuario/espacio de trabajo. La documentación se puede encontrar aquí.

Respuesta #2

Para cualquier persona que use Vim con coc.nvim, puede hacer el mismo cambio agregando lo mismo en el objeto :CocConfig:

"javascript.suggestionActions.enabled": false

Si no has agregado ninguna configuración a :CocConfig antes, entonces necesitas asegurarte de que la configuración anterior esté envuelta en un objeto JSON:

{
    "javascript.suggestionActions.enabled": false
}

Respuesta #3

Para cualquiera que use Neovim con LSP nativo y nvim-lspconfig para configurar sus servidores de lenguaje, puede desactivar las sugerencias agregando esto en algún lugar de su configuración de tsserver:

require('lspconfig').tsserver.setup({
    init_options = {
        preferences = {
            disableSuggestions = true,
        },
    },
})

También puedes usar el complemento nvim-lsp-ts-utils para filtrar este mensaje de diagnóstico específico mientras mantienes las sugerencias habilitadas agregando esto en algún lugar de tu configuración de tsserver:

require('lspconfig').tsserver.setup({
    on_attach = function(client, bufnr)
        require('nvim-lsp-ts-utils').setup({
            filter_out_diagnostics_by_code = { 80001 },
        })
        require('nvim-lsp-ts-utils').setup_client(client)
    end,
})

Respuesta #4

¡Alerta! Este enfoque podría ser demasiado para los usuarios de VSCode que aman la asistencia de codificación inteligente. Úsalo como una ayuda simple y rápida, junto con otras utilidades de linting y pruebas.


El control de la presencia del mencionado mensaje se encuentra en Configuración => Extensiones => TypeScript. (¡TypeScript !!! :P)

Como se muestra en la captura de pantalla, busqué en Configuración con la palabra clave "validar", luego hice clic en TypeScript. Es el primer elemento.

Respuesta #5

Si tu proyecto es "type": "module" y necesitas tener un archivo CommonJS en él, por ejemplo para configurar ESLint (que no soporta ESM hasta la fecha de redacción de esto), entonces simplemente renómbralo de *.js a *.cjs (o de *.ts a *.cts, si es apropiado), y la sugerencia desaparecerá. La solución para esto se lanzó con TypeScript 4.5.1 hace aproximadamente un año.

Respuesta #6

En realidad, esta sugerencia molesta proviene de TypeScript.

Por lo tanto, para desactivar esta sugerencia, puedes modificar el código fuente de TypeScript, compilarlo y luego indicar a vscode que use tu bifurcación de TypeScript.

Como un truco rápido y sucio, simplemente elimina la lógica relacionada con ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module, luego compila el proyecto siguiendo las instrucciones en el README de TypeScript.

La compilación fallará porque eliminar la lógica relacionada hace que algunas funciones queden sin usar, luego simplemente eliminas esas definiciones de funciones sin usar y recompilas el proyecto (gulp clean && gulp local).

Después de que compile con éxito su fork de TypeScript, entonces cambie su user settings.json para apuntar a su fork de vscode:

"typescript.tsdk": "/path/to/your/fork/of/TypeScript/built/local",

Hecho.

Reinicia tu VSCode, y la molesta sugerencia habrá desaparecido.

Puedes revisar este commit para ver qué archivos fuente de TypeScript necesitan ser modificados.

Advertencia: la modificación es rápida y rudimentaria, úsala bajo tu propio riesgo. Si encuentras algún problema, puedes simplemente eliminar la configuración de tsdk para volver al TypeScript incorporado de vscode.

Artículos relacionados