import console = require("console");
console.
<< Piszę. i powyżej są importowane automatycznie w VScode. Czy ktoś wie, jak to wyłączyć?
(Zakładam, że jest to jedno z moich rozszerzeń. Prawdopodobnie ładniejsze.)
edycja: dzieje się to tylko w środowisku React Typescript. nie w Maszynie bez reagowania.
typescript
visual-studio-code
Smocza dusza
źródło
źródło
Odpowiedzi:
Zastrzeżenie: nie należy tego uważać za „rozwiązanie”, ale jest to najprostsze / najszybsze.
Ta odpowiedź zakłada, że używasz VSCode. Inne IDE powinny być podobne.
console
.
, zezwalając IntelliSense na dodanieimport console = require("console");
require("console")
źródło
"console"
, ale to szczegół. Dzięki!Ja również tego doświadczyłem i wydaje się, że jest to problem z funkcją automatycznego importu w VSCode. Wyłączenie wszystkich rozszerzeń również nie powoduje jego zniknięcia.
Aby obejść ten problem, możesz wyłączyć automatyczne importowanie w ustawieniach.
Jeśli używasz Javascript
"javascript.suggest.autoImports": false
Jeśli używasz Typescript
"typescript.suggest.autoImports": false
EDYCJA: Błędny automatyczny import występuje z powodu tego kodu w pakiecie w drzewie zależności
Pakiet może znajdować się w lokalnym katalogu node_modules lub we wspomnianym pakiecie zainstalowanym globalnie.
declare module "console"
npm list [packageName]
aby określić, który pakiet w package.json jest zależny od pakietu zawierającego kod konsoli.Jeśli nie znajdziesz kodu w lokalnych modułach node_modules, możesz to zrobić
Eliminuj pakiety jeden po drugim w package.json
Wyszukaj kod konsoli w globalnie zainstalowanych modułach, do których mogą się odwoływać pakiety w projekcie
% USERPROFILE% \ AppData \ Roaming \ npm \ node_modules% USERPROFILE% \ AppData \ Local \ Microsoft \ TypeScript
Wiem, że nie jest to proste rozwiązanie, ale mam nadzieję, że pomoże, w moim przypadku miałem odniesienie z węzła react-native-copilot -> rimraf ->, który zawierał kod konsoli. Usunięcie reagowania-natywnego-drugiego pilota rozwiązało problem.
źródło
~/Library/Caches/
folderze. Jestem na Macu. Ponieważ znajduje się w moim obszarze roboczym buforowania, właśnie usunąłem rzeczywisty kod: `` lang-js deklaruje moduł "console" {export = console; } `` I zadziałało!Najbardziej eleganckim rozwiązaniem, jakie znalazłem, jest utworzenie
console.d.ts
w projekcie atrapy pliku:Zapobiegnie to automatycznemu importowaniu.
Kredyty: https://github.com/Microsoft/TypeScript/issues/30471#issuecomment-474963436
źródło
Jeśli dodasz fragment do wstawienia
console.log
i użyjesz go zamiast tego, nie będzie automatycznego importu „konsoli”https://code.visualstudio.com/docs/editor/userdefinedsnippets#_create-your-own-snippets
oto mój fragment:
źródło
Jeśli tak jak ja zapomniałeś o "cl", możesz użyć wielu przedrostków we fragmentach :)
źródło
Jednym ze sposobów, aby temu zapobiec, jest zmodyfikowanie pliku tsconfig.json w celu ograniczenia zestawu typów, które są automatycznie importowane do projektu.
Miałem ten sam problem i naprawiłem go dodając:
types: []
do mojego pliku tsconfig.json. To powoduje, że TypeScript (i przez rozszerzenie VSCode) uniemożliwia automatyczne importowanie wszystkich pakietów węzłów, które są
@types/
w konfiguracji projektu. Nie zapobiega to importowaniu przez TS tych definicji typów, jeśli jawnie zaimportujesz pakiet przy użyciu tych typów.W moim konkretnym przypadku
console
definicja pochodziła z@types/node
, która została zaimportowana do projektu jako zależność Storybook. Jednak mój projekt był projektem pakietu internetowego, przeznaczonym do uruchamiania w przeglądarce, więc importowanie typów Node.js do mojego kodu źródłowego nie miało sensu. Podstawowy zestaw typów, których chcesz używać w przeglądarce, to typy dom, a nie typy węzłów.W zależności od projektu może być konieczne jawne dodanie zestawu pakietów typu podstawowego do parametru types (
types: ["dom", "react"]
i tak dalej). Jednak w moim przypadku okazało się to niepotrzebne, mój projekt był w stanie skompilować się dobrze z pustą listą. Wydaje się, że tendencja VSCode do automatycznego importowania „konsoli” całkowicie zniknęła; Jak dotąd nie zauważyłem żadnych innych złych efektów.Więcej informacji na temat ustawień typów w tsconfig.json tutaj: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
źródło