import console = require("console");
console.
<< escribo. y superior se importa automáticamente en VScode. ¿Alguien sabe cómo deshabilitar eso?
(Supongo que es una de mis extensiones. Probablemente más bonita).
editar: solo ocurre en el entorno React Typecript. no en mecanografiado sin reaccionar.
typescript
visual-studio-code
Alma de dragon
fuente
fuente
Respuestas:
Descargo de responsabilidad: esto no debe considerarse "la solución" pero es la más simple / rápida.
Esta respuesta supone que está usando VSCode. Otros IDE deben ser similares.
console
.
, permitiendo que IntelliSense agregueimport console = require("console");
require("console")
fuente
"console"
embargo, debería ser Cmd + clic , pero eso es un detalle. ¡Gracias!Experimenté esto también y parece ser un problema con la función de importación automática en VSCode. Desactivar todas las extensiones tampoco parece hacer que desaparezca.
Como solución alternativa, puede deshabilitar las importaciones automáticas en la configuración.
Si usas Javascript
"javascript.suggest.autoImports": falso
Si usa mecanografiado
"typescript.suggest.autoImports": falso
EDITAR: la importación automática defectuosa se produce debido a este código en un paquete en el árbol de dependencia
El paquete puede ubicarse en su directorio local node_modules o en un paquete referenciado instalado globalmente.
declare module "console"
npm list [packageName]
para determinar qué paquete en package.json depende del paquete con el código de la consola.Si no encuentra código en su nodo_módulo local, puede
Eliminar paquetes uno por uno en package.json
Busque el código de la consola en módulos instalados globalmente a los que pueden hacer referencia los paquetes en su proyecto
% USERPROFILE% \ AppData \ Roaming \ npm \ node_modules% USERPROFILE% \ AppData \ Local \ Microsoft \ TypeScript
Sé que no es una solución sencilla, pero espero que ayude, en mi caso tuve una referencia de react-native-copilot -> rimraf -> node que tenía el código de la consola. La eliminación de react-native-copilot resolvió el problema.
fuente
~/Library/Caches/
carpeta. Estoy en una Mac Dado que está en mi espacio de trabajo de almacenamiento en caché, acabo de eliminar el código real: `` `lang-js declare module" console "{export = console; } `` ¡Y funcionó!La solución más elegante que encontré es crear un
console.d.ts
archivo ficticio en algún lugar de su proyecto:Esto evitará la importación automática.
Créditos: https://github.com/Microsoft/TypeScript/issues/30471#issuecomment-474963436
fuente
Si agrega un fragmento para insertarlo
console.log
y lo usa en su lugar, no habrá importación automática de "consola"https://code.visualstudio.com/docs/editor/userdefinedsnippets#_create-your-own-snippets
Aquí está mi fragmento:
fuente
Si te gusto, olvido "cl", puedes usar múltiples prefijos en fragmentos :)
fuente
Una forma de evitar que esto suceda es modificar su archivo tsconfig.json para limitar el conjunto de tipos que se importan automáticamente a su proyecto.
Tuve el mismo problema y lo solucioné agregando:
types: []
en mi archivo tsconfig.json. Lo que esto hace es deshabilitar TypeScript (y, por extensión, VSCode) de importar automáticamente todos los paquetes de nodos que se encuentren
@types/
en la configuración del proyecto. Esto no impide que TS importe esas definiciones de tipo si importa explícitamente un paquete usando esos tipos.En mi caso específico, la
console
definición provenía@types/node
, que había sido importada al proyecto como una dependencia de Storybook. Sin embargo, mi proyecto era un proyecto de paquete web, destinado a ejecutarse en un navegador, por lo que importar tipos Node.js a mi código fuente no tenía sentido. El conjunto básico de tipos que desea utilizar en un navegador son tipos dom, no tipos de nodo.Dependiendo de su proyecto, es posible que deba agregar explícitamente el conjunto de paquetes de tipo base al parámetro de tipos (
types: ["dom", "react"]
y así sucesivamente). Sin embargo, en mi caso esto resultó ser innecesario, mi proyecto pudo compilarse perfectamente con una lista vacía. Y la tendencia de VSCode a importar automáticamente 'consola' parece haber desaparecido por completo; No he notado ningún otro efecto negativo hasta ahora.Más información sobre la configuración de tipos en tsconfig.json aquí: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
fuente