Typescript: konsol.log impor otomatis impor konsol = membutuhkan ('konsol');

Dibuat pada 10 Mar 2019  ·  42Komentar  ·  Sumber: microsoft/TypeScript

Langkah-langkah untuk Mereproduksi:
ketik console. . 7 kali dari 10, vscode akan memasukkan import console=require('console'); di bagian atas impor file yang menyebabkan kesalahan kompilasi.

Sejauh ini, satu masalah kode vs yang paling menjengkelkan.


Apakah masalah ini terjadi saat semua ekstensi dinonaktifkan ?: Tidak yakin

Bug Fixed VS Code Priority

Komentar yang paling membantu

Tambahkan file console.d.ts ke root src Anda dan tambahkan konten berikut:

declare module 'console' {
    export = typeof import("console");
}

Itu akan memperbaiki impor Anda

Semua 42 komentar

Sama di sini (Ubuntu 18.04). Itu datang dengan pembaruan VSCode baru .. Sangat mengganggu.

Tampaknya disebabkan oleh definisi tipe node . Menghapus:

declare module "console" {
    export = console;
}

di ../node_modules/@types/node/index.d.ts tampaknya merupakan perbaikan sementara sampai definisi tersebut diperbarui. Atau bisa juga disebabkan oleh modul node lain yang terpasang yang mendeklarasikan definisi tipe untuk console . Anda dapat mengetahuinya dengan mengikuti jalur ke mana pun import console=require('console') mengarah. Penghargaan untuk stackoverflow ini.

Apakah ini mereproduksi dalam VS Code insiders terbaru yang dibangun dengan semua ekstensi dinonaktifkan? Pastikan Anda juga menggunakan versi TypeScript terbaru

Juga @Zlass versi mana dari pengetikan node yang Anda gunakan? Saya tidak melihat pernyataan itu di @types/node dan belum dapat memperbaiki masalah ini

Oke, saya yakin saya telah menemukan penyebabnya. Sepertinya ini adalah bug yang berhubungan dengan @types/styled-components memiliki ketergantungan pada @types/react-native , yang bertentangan dengan tipe console dari node.

Saya dapat mereproduksinya di insider build dengan membuat aplikasi react typescript baru dengan create-react-app dan menginstal @types/styled-components .

Saya tidak berpikir ini adalah masalah VS Code dan sudah ada masalah terbuka untuk itu di DefinitelyTyped di sini

Hmmm, saya tidak menggunakan komponen bergaya. Bukan tidak mungkin itu datang bersamaan dengan beberapa perpustakaan lainnya

@mschipperheyn Saya akan merekomendasikan memeriksa apa yang muncul ketika Anda mencoba untuk melengkapi otomatis console . Saya dapat mengetahui paket apa yang mendeklarasikan definisi lain dari console dengan mengintip referensi dari setiap saran pelengkapan otomatis.

Saya mengalami hal yang sama (di versi 1.30.2). Ini adalah proyek React Native, tidak menggunakan Komponen Bergaya (tapi lib lainnya mungkin). Saat mengetik console bawah ini adalah keluaran masing-masing dari pelengkapan otomatis. Yang pertama melakukan otomatis import , yang kedua melakukan otomatis require .

Screen Shot 2019-03-20 at 17 47 43

Edit: Sepertinya pada pengaturan saya ini menunjuk ke ~/Library/Caches/typescript/3.2/node_modules/@types/node/index.d.ts pada baris 207

Tambahkan file console.d.ts ke root src Anda dan tambahkan konten berikut:

declare module 'console' {
    export = typeof import("console");
}

Itu akan memperbaiki impor Anda

Terima kasih @BrendonSled untuk perbaikan suhu itu ... yang tampaknya telah menyelesaikannya untuk saya - sekarang untuk menambahkan ini ke semua proyek saya yang lain 🙈

Masalah ini telah ditandai sebagai 'Eksternal' dan tidak melihat aktivitas terbaru. Itu telah ditutup secara otomatis untuk keperluan rumah tangga.

@Brendon, terima kasih !! Akhirnya solusi tmp

Adakah yang punya pembaruan tentang ini di luar solusi sementara? Google hanya mengembalikan tautan ini dan tautan StackOverflow yang diposting sebelumnya

@BrendonSled terima kasih untuk solusi Anda

Ini membuatku gila ...

Argh, ini sangat menyebalkan!

Masalah yang sama disini. Saya menggunakan Linux Mint 19.1.

Satu-satunya cara saya dapat mengatasi fitur auto import ini adalah dengan:

Masuk ke File : arrow_forward: Preferences : arrow_forward: Settings : arrow_forward: Cari Javascript Auto Imports dan / atau Typescript Auto Imports : arrow_forward: hapus centang Enable/disable auto imports suggestions .

ATAU

Pergi ke File : arrow_forward: Preferences : arrow_forward: User Snippets : arrow_forward: Pilih global.code-snippets : arrow_forward: Simpan ke /vscode/snippets/global.code-snippets : arrow_forward : lalu tambahkan dan simpan cuplikan global ini (sebagai alternatif, Anda dapat membuat cuplikan khusus bahasa jika tidak ingin menjadi global - ini akan membuat cuplikan konsol di bawah entri pertama dalam daftar saran otomatis):

{
  "Print to console": {
    prefix: ["console", "console.", "console.l", "console.lo", "console.log"],
    body: ["console.log($1);"],
    description: "Log output to console"
  }
};

masalah yang sama di sini visual studio 1.33.1 node 10
solusi temp bekerja untuk saya ...

Ini menyebalkan. Akan lebih bagus jika kita bisa memasukkan impor mobil tertentu ke dalam daftar hitam.

Ini sangat mengganggu. Solusi yang diposting oleh @BrendonSled tidak valid menurut ts ketat. Adakah cara lain untuk memperbaikinya?

'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 memberikan beberapa saran tentang masalah ini untuk mencoba.

Secara khusus, saran ini dan saran ini tampaknya telah memperbaiki situasi bagi saya.

@RyanCavanaugh Adakah cara agar kami dapat meningkatkan pengalaman meskipun ada kesalahan d.ts dari paket?

Penghargaan untuk

{
    "Print to console": {
      "prefix": ["console", "console.", "console.l", "console.lo", "console.log"],
      "body": ["console.log($1);"],
      "description": "Log output to console"
    }
}

Ini telah mendorong saya 🙃 pada proyek React Native

Masalah ini seharusnya sudah diperbaiki. Jika Anda masih mengalami ini, silakan

  1. pastikan Anda masih melihat perilaku tersebut setelah menginstal plugin ini
  2. memberikan reproduksi minimal dari masalah tersebut.

@Bayu_joo
Saya menginstal plugin dan kehilangan impor otomatis.
Saya ingin impor otomatis, tetapi tidak ingin mengimpor konsol secara otomatis.

Oke, kedengarannya seperti masalah terpisah yang harus Anda ajukan di https://github.com/Microsoft/TypeScript jika Anda dapat mereproduksi minimal masalah itu.

@DanielRosenwasser Plugin itu menyelesaikannya untuk saya. Saya tidak begitu yakin saya mengerti apa fungsinya. Apakah itu solusi sampai versi baru VSCode dikeluarkan, atau apakah itu solusi yang lebih permanen?

Itu berarti masalah telah diperbaiki dan akan diperbaiki di versi VS Code berikutnya.

ini masih belum diperbaiki di versi terbaru vscode

Apakah kami memiliki pembaruan terkini untuk masalah ini? masalah ini masih berlanjut di versi terbaru vscode untuk saya juga.

Maaf, kesalahanku. Itu akan dirilis bulan depan. Orang dalam dan pengguna https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-next akan menyediakan perbaikannya.

@DanielRosenwasser Apakah Anda yakin tentang itu? Saya memiliki JavaScript and TypeScript Nightly terpasang dan saya masih mendapatkan masalah ini.

Saya melihat masalah dengan VScode Insider (tanpa plugin) dan VSCode (dengan plugin terpasang). Mereka berdua tampaknya menggunakan 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

Screenshot 2019-08-13 at 17 08 37

Bisakah ini dibuka kembali? Karena itu belum diperbaiki (bahkan dengan plugin Typecript Nightly)

Halo semuanya, apakah seseorang dapat membagikan repo aktual yang memiliki masalah ini? Kedengarannya gila, tapi saya tidak bisa menegur sama sekali. TypeScript memiliki penanganan khusus untuk mengecualikan impor otomatis untuk deklarasi yang baru saja mengekspor ulang global selama lebih dari setahun. Fakta bahwa hal itu tidak terjadi pada Anda semua berarti sesuatu yang sangat aneh, tetapi tampaknya cukup umum, sedang terjadi.

Tebakan terbaik saya adalah bahwa beberapa kombinasi dependensi telah memberi Anda dua versi berbeda dari @types/node secara bersamaan, dan entah bagaimana hal itu membuat sistem menjadi kacau. Saya akan mencoba untuk menciptakan skenario seperti itu, tetapi jika seseorang dapat memberikan lingkungan yang tepat di mana ini terjadi, itu pasti akan mempercepat perbaikan.


Pembaruan: menemukan repro. Mengabaikan.

Sepertinya ini tidak akan berhasil masuk ke RC, tetapi harus membuatnya menjadi nightly dan rilis 3.6 yang tepat.

Saya menjalankan Mac dan Ubuntu. Mac baik-baik saja, Ubuntu memiliki masalah ini.
Diperbaiki dengan Nightly.

Untuk siapa pun yang mengatakan JavaScript dan TypeScript Nightly tidak berfungsi, pastikan untuk mengkonfigurasinya dengan benar:

  1. Buka file JavaScript atau TypeScript di VS Code.
  2. Di palet perintah VS Code, jalankan perintah TypeScript: Select TypeScript versi.
  3. Pastikan Anda telah memilih versi Use VS Code

Saya hidup bahagia tanpa masalah ini sampai saya memasang komponen bergaya dan itu terjadi lagi.

@tlaak versi

@andrewbranch Saya rasa saya menggunakan versi 3.5.x lama yang disiapkan oleh create-react-app. Tapi bagaimanapun, saya tidak memiliki akses ke proyek lagi jadi tidak bisa mengonfirmasi.

@andrewbranch Saya baru saja mengalami masalah yang sangat mengganggu ini dengan proyek saya, dan setelah memutakhirkan TypeScript dari 3.5.x ke 3.6 saya dapat mengonfirmasi bahwa itu sudah diperbaiki !! 🎉 FYI untuk orang lain dengan masalah ini: pastikan bahwa versi Ketikan di sudut kanan bawah Kode VS juga disetel ke 3.6.x

versi 3.5.x sudah ada, dan pada 3.6.2, tidak ada lagi impor otomatis konsol.
Yang 3.6.2 adalah versi ts default vscode sepertinya.

image

pastikan vscode Anda disetel ke default dan bukan ke versi ruang kerja / proyek
image

Anda dapat mengetahuinya dengan mengikuti jalur ke mana pun import console = require ('console') mengarah. Penghargaan untuk stackoverflow ini.

@Zlass ini adalah penyelamat 🙏

Untuk siapa saja yang masih mengalami masalah: Anda dapat mengikuti langkah-langkah di stackoverflow

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

wmaurer picture wmaurer  ·  3Komentar

MartynasZilinskas picture MartynasZilinskas  ·  3Komentar

seanzer picture seanzer  ·  3Komentar

blendsdk picture blendsdk  ·  3Komentar

dlaberge picture dlaberge  ·  3Komentar