Schritte zum Reproduzieren:
Geben Sie console.
. 7 mal von 10 fügt vscode import console=require('console');
in den Import oben in der Datei ein, was zu einem Kompilierungsfehler führt.
Die mit Abstand nervigste Ausgabe von vs Code.
Tritt dieses Problem auf, wenn alle Erweiterungen deaktiviert sind?: Nicht sicher
Gleiches hier (Ubuntu 18.04). Es kam mit dem neuen VSCode-Update. Sehr ärgerlich.
Scheint durch die Typdefinition von node
verursacht zu werden. Entfernen:
declare module "console" {
export = console;
}
in ../node_modules/@types/node/index.d.ts
scheint eine vorübergehende Korrektur zu sein, bis diese Definition aktualisiert wird. Oder es könnte durch ein anderes installiertes Knotenmodul verursacht werden, das eine Typdefinition für console
deklariert. Sie können es herausfinden, indem Sie dem Pfad folgen, zu dem import console=require('console')
führt. Gutschrift für diesen Stapelüberlauf .
Wird dies in den neuesten VS Code-Insider- Builds reproduziert
Auch @Zlass welche Version der Knotentypisierungen verwenden Sie? Ich sehe diese Erklärung nicht in den letzten @types/node
und konnte dieses Problem nicht wiederholen
Ok, ich glaube ich habe die Ursache gefunden. Es scheint, als ob es sich um einen Fehler handelt, der mit @types/styled-components
und von @types/react-native
abhängt, was mit dem Typ console
des Knotens in Konflikt steht.
Ich konnte es im Insider-Build reproduzieren, indem ich eine neue Typoskript-Reaktions-App mit create-react-app
und @types/styled-components
installierte.
Ich glaube nicht , das ein VS - Code Problem ist , und es gibt bereits eine offene Frage für sie in DefinitelyTyped
hier
Hmmm, ich verwende keine gestylten Komponenten. Nicht unmöglich, dass es zusammen mit einer anderen Bibliothek kam
@mschipperheyn Ich würde empfehlen, zu überprüfen, was console
automatisch zu vervollständigen. Ich konnte herausfinden, welches Paket eine andere Definition von console
deklarierte, indem ich mir die Referenzen der einzelnen Vorschläge zur automatischen Vervollständigung ansah.
Ich erlebe das gleiche (auf Version 1.30.2). Es ist ein React Native-Projekt, bei dem keine gestalteten Komponenten verwendet werden (aber möglicherweise keine andere Bibliothek). Wenn Sie console
unten eingeben, wird die entsprechende Ausgabe von Auto-Vervollständigung angezeigt. Der erste macht ein Auto import
, der zweite macht ein Auto require
.
Bearbeiten: Scheint in meinem Setup auf die folgenden ~/Library/Caches/typescript/3.2/node_modules/@types/node/index.d.ts
in Zeile 207 zu verweisen
Fügen Sie Ihrem src-Stammverzeichnis eine
declare module 'console' {
export = typeof import("console");
}
Das wird Ihren Import reparieren
Vielen Dank an @BrendonSled für dieses
Dieses Problem wurde als "Extern" markiert und hat in letzter Zeit keine Aktivitäten erfahren. Es wurde automatisch für Haushaltszwecke geschlossen.
@BrendonSled danke !! Endlich eine tmp Lösung
Hat jemand ein Update dazu, das über temporäre Lösungen hinausgeht? Google gibt nur diesen Link und den zuvor veröffentlichten StackOverflow-Link zurück
@BrendonSled Danke für Ihre Lösung
Das macht mich verrückt...
Argh, das ist so nervig!
Selbes Problem hier. Ich bin auf Linux Mint 19.1.
Die einzige Möglichkeit, diese auto import
-Funktion zu umgehen, besteht darin, entweder:
Gehen Sie zu File
: arrow_forward: Preferences
: arrow_forward: Settings
: arrow_forward: Suchen Sie nach Javascript Auto Imports
und / oder Typescript Auto Imports
: arrow_forward: Deaktivieren Sie Enable/disable auto imports suggestions
.
ODER
Gehen Sie zu File
: arrow_forward: Preferences
: arrow_forward: User Snippets
: arrow_forward: Wählen Sie global.code-snippets
: arrow_forward: Speichern Sie es unter /vscode/snippets/global.code-snippets
: arrow_forward : Fügen Sie dann dieses globale Snippet hinzu und speichern Sie es (alternativ können Sie ein sprachspezifisches Snippet erstellen, wenn Sie nicht möchten, dass es global ist. Dadurch wird das Konsolen-Snippet unter dem ersten Eintrag in der Liste der automatischen Vorschläge angezeigt):
{
"Print to console": {
prefix: ["console", "console.", "console.l", "console.lo", "console.log"],
body: ["console.log($1);"],
description: "Log output to console"
}
};
gleiches Problem hier Visual Studio 1.33.1 Knoten 10
temporäre Lösung hat bei mir funktioniert ...
Das ist ärgerlich. Wäre toll, wenn wir bestimmte Autoimporte auf die schwarze Liste setzen könnten.
Das ist äußerst ärgerlich. Die von @BrendonSled veröffentlichte Bestimmungen ungültig. Gibt es eine andere Möglichkeit, dies zu beheben?
'export=' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. ts(7022)
@ AndrewMorsillo geben Sie einige Vorschläge zu diesem Thema einen Versuch.
Insbesondere scheinen sowohl dieser Vorschlag als auch dieser Vorschlag die Situation für mich verbessert zu haben.
@ RyanCavanaugh Wie können wir die Erfahrung verbessern, selbst wenn ein Paket falsche d.ts enthält?
Dank an
{
"Print to console": {
"prefix": ["console", "console.", "console.l", "console.lo", "console.log"],
"body": ["console.log($1);"],
"description": "Log output to console"
}
}
Dies hat mich bei React Native-Projekten angetrieben
Dieses Problem sollte behoben sein. Wenn Sie immer noch darauf stoßen, bitte
@ DanielRosenwasser
Ich installiere das Plugin und habe dann den automatischen Import verloren.
Ich möchte den automatischen Import, möchte aber die Konsole nicht automatisch importieren.
Okay, das klingt nach einem separaten Problem, das Sie unter https://github.com/Microsoft/TypeScript einreichen sollten, wenn Sie eine minimale Reproduktion dieses Problems bereitstellen können.
@ DanielRosenwasser Das Plugin hat es für mich gelöst. Ich bin mir nicht ganz sicher, was das bedeutet. Ist das eine Problemumgehung, bis eine neue Version von VSCode veröffentlicht wird, oder ist das eine dauerhaftere Lösung?
Dies bedeutet, dass das Problem bereits behoben wurde und in der nächsten Version von VS Code behoben wird.
Dies ist in der neuesten Version von vscode immer noch nicht behoben
Haben wir ein aktuelles Update für dieses Problem? Dieses Problem besteht auch für mich in der neuesten Version von vscode weiterhin.
Es tut mir leid. Es wird im nächsten Monat veröffentlicht. Insider und Benutzer von https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-next verfügen über das Update.
@ DanielRosenwasser Bist du dir da sicher? Ich habe JavaScript and TypeScript Nightly
installiert und bekomme immer noch dieses Problem.
Ich sehe das Problem sowohl mit VScode Insider (ohne Plugin) als auch mit VSCode (mit installiertem Plugin). Beide scheinen TS 3.6.0-dev.20190810
VSCode
Version: 1.37.0
Commit: 036a6b1d3ac84e5ca96a17a44e63a87971f8fcc8
Date: 2019-08-08T01:22:37.660Z
Electron: 4.2.7
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 18.7.0
VSCode Insider
Version: 1.38.0-insider
Commit: ffa22b268f451b5211abbe2d2a47e6b753b55b1a
Date: 2019-08-13T07:23:55.783Z
Electron: 4.2.9
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 18.7.0
Könnte dies bitte wieder geöffnet werden? Weil es noch nicht behoben ist (nicht einmal mit dem Typescript Nightly Plugin)
Hallo zusammen, kann jemand ein aktuelles Repo mit diesem Problem teilen? Es klingt verrückt, aber ich kann überhaupt nicht tadeln. TypeScript hat eine spezielle Behandlung zum Ausschließen von Autoimporten für Deklarationen, die eine globale Version über ein Jahr lang erneut exportieren. Die Tatsache, dass dies nicht für Sie alle geschieht, bedeutet etwas sehr Seltsames, aber anscheinend ziemlich häufiges.
Meine beste Vermutung ist, dass eine Kombination von Abhängigkeiten Ihnen zwei verschiedene Versionen von @types/node
gleichzeitig gegeben hat, und irgendwie wirft das einen Schraubenschlüssel in das System. Ich werde versuchen, solche Szenarien zu erfinden, aber wenn jemand eine genaue Umgebung bereitstellen kann, in der dies geschieht, wird dies die Korrektur definitiv beschleunigen.
Update: einen Repro herausgefunden. Außer Acht lassen.
Sieht so aus, als würde dies nicht in den RC gelangen, sollte es aber in die nächtliche und ordnungsgemäße Veröffentlichung von 3.6 schaffen.
Ich verwende Mac und Ubuntu. Mac ist in Ordnung, Ubuntu hat dieses Problem.
Mit Nightly behoben.
Wenn Sie sagen, dass JavaScript und TypeScript Nightly nicht funktionieren, stellen Sie sicher, dass Sie es richtig konfigurieren:
Ich habe glücklich ohne dieses Problem gelebt, bis ich gestaltete Komponenten installiert habe und da ist es wieder.
@tlaak Welche Version von TypeScript verwenden Sie? Ich bin mir ziemlich sicher, dass ich das in 3.6 behoben habe. Natürlich werden ältere Versionen von TypeScript dieses Verhalten für immer aufweisen.
@andrewbranch Ich glaube, ich habe die ältere Version
@andrewbranch Ich hatte gerade das Vergnügen, auf dieses sehr ärgerliche Problem mit meinem Projekt zu
Die Version 3.5.x ist vorhanden und unter 3.6.2 kein automatischer Konsolenimport mehr.
Wie 3.6.2 die vscode Standardversion ist ts scheint.
Stellen Sie sicher, dass Ihr vscode auf den Standardwert und nicht auf die Arbeitsbereichs- / Projektversion eingestellt ist
Sie können es herausfinden, indem Sie dem Pfad folgen, zu dem der Import von console = require ('console') führt. Gutschrift für diesen Stapelüberlauf.
@Zlass das ist ein Lebensretter 🙏
Für alle, die noch Probleme haben: Sie können die Schritte zum Stackoverflow ausführen
Hilfreichster Kommentar
Fügen Sie Ihrem src-Stammverzeichnis eine
Das wird Ihren Import reparieren