import console = require("console");
console.
<< Я печатаю. и выше импортируется автоматически в VScode. Кто-нибудь знает, как это отключить?
(Я предполагаю, что это одно из моих расширений. Возможно, красивее.)
редактировать: это происходит только в среде React Typescript. не в Typescript без реакции.
typescript
visual-studio-code
Душа Дракона
источник
источник
Ответы:
Отказ от ответственности: это не должно рассматриваться как «решение», но это самое простое / быстрое.
Этот ответ предполагает, что вы используете VSCode. Другие IDE должны быть похожими.
console
.
, позволяя IntelliSense добавитьimport console = require("console");
require("console")
источник
"console"
, но это деталь. Спасибо!Я испытал это также, и это, кажется, проблема с функцией автоматического импорта в VSCode. Отключение всех расширений, похоже, тоже не уходит.
В качестве обходного пути вы можете отключить автоимпорт в настройках.
Если вы используете Javascript
"javascript.suggest.autoImports": false
Если вы используете Typescript
"typescript.suggest.autoImports": false
РЕДАКТИРОВАТЬ: сбой автоимпорта происходит из-за этого кода в пакете вниз по дереву зависимостей
Пакет может находиться либо в вашем локальном каталоге node_modules, либо в глобальном пакете, на который есть ссылка.
declare module "console"
npm list [packageName]
чтобы определить, какой пакет в package.json зависит от пакета с консольным кодом в нем.Если вы не можете найти код в своих локальных node_modules, вы можете либо
Исключите пакеты один за другим в package.json
Ищите код консоли в глобально установленных модулях, на которые могут ссылаться пакеты в вашем проекте
% USERPROFILE% \ AppData \ Roaming \ npm \ node_modules% USERPROFILE% \ AppData \ Local \ Microsoft \ TypeScript
Я знаю, что это не прямолинейное решение, но я надеюсь, что оно поможет, в моем случае у меня была ссылка с узлаact-native-copilot -> rimraf ->, в которой был консольный код. Удаление реакции-родного-второго пилота решило проблему.
источник
~/Library/Caches/
папки. Я на маке. Поскольку он находится в моей рабочей области кэширования, я просто удалил сам код: `` `lang-js объявление модуля" console "{export = console; } `` `И это сработало!Самое элегантное решение, которое я нашел, - создать фиктивный
console.d.ts
файл где-нибудь в вашем проекте:Это предотвратит автоматический импорт.
Кредиты: https://github.com/Microsoft/TypeScript/issues/30471#issuecomment-474963436
источник
Если вы добавите фрагмент для вставки
console.log
и будете использовать его вместо этого, то не будет автоматического импорта «консоли».https://code.visualstudio.com/docs/editor/userdefinedsnippets#_create-your-own-snippets
вот мой фрагмент:
источник
Если вы мне нравитесь, забывает "cl", вы можете использовать несколько префиксов в фрагментах :)
источник
Один из способов предотвратить это - изменить файл tsconfig.json, чтобы ограничить набор типов, которые автоматически импортируются в ваш проект.
У меня была такая же проблема, и я исправил ее, добавив:
types: []
в мой файл tsconfig.json. Это отключает TypeScript (и расширение VSCode) от автоматического импорта всех пакетов узлов, которые имеют
@types/
в конфигурации проекта. Это не мешает TS импортировать определения этих типов, если вы явно импортируете пакет, используя эти типы.В моем конкретном случае
console
определение исходило из@types/node
, которое было импортировано в проект как зависимость от Storybook. Тем не менее, мой проект был проектом webpack, предназначенным для запуска в браузере, поэтому импорт типов Node.js в мой исходный код не имел смысла. Базовый набор типов, которые вы хотели бы использовать в браузере, - это типы dom, а не типы узлов.В зависимости от вашего проекта вам может понадобиться явно добавить набор пакетов базового типа в параметр types (
types: ["dom", "react"]
и т. Д.). Тем не менее, в моем случае это оказалось ненужным, мой проект смог прекрасно скомпилироваться с пустым списком. И тенденция VSCode автоматически импортировать «консоль», похоже, полностью исчезла; Я не заметил никаких других побочных эффектов.Более подробную информацию о настройке типов в tsconfig.json можно найти здесь: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html.
источник