import console = require("console");
console.
<< Ich tippe. und höher wird automatisch in VScode importiert. Weiß jemand, wie man das deaktiviert?
(Ich nehme an, es ist eine meiner Erweiterungen. Wahrscheinlich hübscher.)
Bearbeiten: Dies geschieht nur in der React Typescript-Umgebung. nicht in Typescript ohne zu reagieren.
typescript
visual-studio-code
Drachenseele
quelle
quelle
Antworten:
Haftungsausschluss: Dies sollte nicht als "die Lösung" betrachtet werden, aber es ist die einfachste / schnellste.
Bei dieser Antwort wird davon ausgegangen, dass Sie VSCode verwenden. Andere IDEs sollten ähnlich sein.
console
.
, um IntelliSense zuzulassen hinzufügen kannimport console = require("console");
require("console")
quelle
"console"
, aber das ist ein Detail. Vielen Dank!Ich habe dies ebenfalls erlebt und es scheint ein Problem mit der Auto-Import-Funktion in VSCode zu sein. Das Deaktivieren aller Erweiterungen scheint auch nicht zu verschwinden.
Um dieses Problem zu umgehen, können Sie Autoimporte in den Einstellungen deaktivieren.
Wenn Sie Javascript verwenden
"javascript.suggest.autoImports": false
Wenn Sie Typescript verwenden
"typescript.suggest.autoImports": false
BEARBEITEN: Der fehlerhafte Autoimport tritt aufgrund dieses Codes in einem Paket im Abhängigkeitsbaum auf
Das Paket kann sich entweder in Ihrem lokalen Verzeichnis node_modules oder in einem global installierten Paket befinden, auf das verwiesen wird.
declare module "console"
npm list [packageName]
festzustellen, welches Paket in package.json von dem Paket mit dem darin enthaltenen Konsolencode abhängig ist.Wenn Sie in Ihren lokalen node_modules keinen Code finden, können Sie dies auch tun
Beseitigen Sie Pakete einzeln in package.json
Suchen Sie in global installierten Modulen nach dem Konsolencode, auf den möglicherweise Pakete in Ihrem Projekt verweisen
% USERPROFILE% \ AppData \ Roaming \ npm \ node_modules% USERPROFILE% \ AppData \ Local \ Microsoft \ TypeScript
Ich weiß, dass es keine einfache Lösung ist, aber ich hoffe, es hilft. In meinem Fall hatte ich eine Referenz vom React-Native-Copilot -> Rimraf -> Knoten, die den Konsolencode enthielt. Das Entfernen des reaktionsnativen Copiloten löste das Problem.
quelle
~/Library/Caches/
Ordner "typescript/3.2/node_modules/@types/node/index.d.ts" gefunden . Ich bin auf einem Mac. Da es sich in meinem Caching-Arbeitsbereich befindet, habe ich gerade den eigentlichen Code entfernt: `` `lang-js deklariert das Modul" console "{export = console; } `` `Und es hat funktioniert!Die eleganteste Lösung, die ich gefunden habe, besteht darin,
console.d.ts
irgendwo in Ihrem Projekt eine Dummy- Datei zu erstellen :Dadurch wird der automatische Import verhindert.
Credits: https://github.com/Microsoft/TypeScript/issues/30471#issuecomment-474963436
quelle
Wenn Sie ein Snippet zum Einfügen hinzufügen
console.log
und dieses stattdessen verwenden, wird "Konsole" nicht automatisch importiert.https://code.visualstudio.com/docs/editor/userdefinedsnippets#_create-your-own-snippets
Hier ist mein Ausschnitt:
quelle
Wenn du magst, dass ich "cl" vergesse, kannst du mehrere Präfixe in Snippets verwenden :)
quelle
Eine Möglichkeit, dies zu verhindern, besteht darin, die Datei tsconfig.json zu ändern, um die Anzahl der Typen zu begrenzen, die automatisch in Ihr Projekt importiert werden.
Ich hatte das gleiche Problem und habe es behoben, indem ich hinzugefügt habe:
types: []
in meine tsconfig.json-Datei. Dadurch wird verhindert, dass TypeScript (und damit auch VSCode) automatisch alle Knotenpakete
@types/
in die Projektkonfiguration importiert . Dies hindert TS nicht daran, diese Typdefinitionen zu importieren, wenn Sie ein Paket explizit mit diesen Typen importieren.In meinem speziellen Fall kam die
console
Definition von@types/node
, die als Abhängigkeit von Storybook in das Projekt importiert worden war. Mein Projekt war jedoch ein Webpack-Projekt, das in einem Browser ausgeführt werden sollte. Daher machte es keinen Sinn, Node.js-Typen in meinen Quellcode zu importieren. Die Basisgruppe von Typen, die Sie in einem Browser verwenden möchten, sind Dom-Typen, keine Knotentypen.Abhängig von Ihrem Projekt müssen Sie möglicherweise den Satz von Basistyppaketen explizit zum Parameter types hinzufügen (
types: ["dom", "react"]
und so weiter). In meinem Fall stellte sich jedoch heraus, dass dies unnötig war. Mein Projekt konnte mit einer leeren Liste problemlos kompiliert werden. Und die Tendenz von VSCode, "Konsole" automatisch zu importieren, scheint vollständig verschwunden zu sein. Ich habe bisher keine anderen negativen Auswirkungen bemerkt.Weitere Informationen zum Festlegen von Typen in tsconfig.json finden Sie hier: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
quelle