Apa pintasan dalam kode Visual Studio untuk console.log


Jawaban:


176

Perbarui Feb, 2019:

Seperti yang disarankan oleh Adrian Smith dan lainnya: Jika Anda ingin mengikat pintasan keyboard untuk membuat pernyataan log konsol, Anda dapat melakukan hal berikut:

  1. File> Preferensi> Pintasan Keyboard
  2. Di atas bilah pencarian di sebelah kanan Anda akan melihat ikon yang saat Anda mengarahkan kursor ke atas bertuliskan "Buka Pintasan Keyboard (JSON)" , klik di atasnya
  3. Tambahkan ini ke pengaturan JSON:
{
  "key": "ctrl+shift+l",
  "command": "editor.action.insertSnippet",
  "when": "editorTextFocus",
  "args": {
    "snippet": "console.log('${TM_SELECTED_TEXT}$1')$2;"
  }
}

Menekan CTRL+ SHIFT+ Lakan mengeluarkan cuplikan konsol. Juga, jika Anda sudah memilih teks itu akan diletakkan di dalam pernyataan log.


Jika Anda lebih suka intellisene / autocomplete:

Pergi ke Preferensi -> Cuplikan Pengguna -> Pilih Ketikan (atau bahasa apa pun yang Anda inginkan). Sebuah jsonfile harus dibuka. Anda dapat menambahkan potongan kode di sana.

Sudah ada cuplikan untuk console.logdikomentari:

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

Anda harus melakukan ini untuk setiap bahasa yang ingin Anda gunakan cuplikannya ... agak mengganggu.


Juga, Anda harus mengatur "editor.snippetSuggestions": "top", sehingga potongan Anda muncul di atas Intellisense. Terima kasih @Chris!

Anda dapat menemukan saran potongan di Preferensi -> Editor Teks -> Saran


3
Ini dulu berfungsi, tetapi sekarang tidak lagi, karena pembaruan terakhir mungkin? Apa hanya aku? s17.postimg.org/5mxnx4umn/2017_02_14_11h10_03.jpg
Cristian Muscalu

Awalan yang didefinisikan di atas adalah "log" jadi mengetik "c" tidak akan membantu;) Mulailah mengetik "l" sebagai gantinya.
Sebastian Sebald

Oh, saya lupa menyebutkan bahwa saya telah mengubahnya untuk bekerja dengan "c". Saya tidak mengubah apa pun, dan setelah pembaruan itu tidak berfungsi lagi. Tidak memiliki cuplikan lagi, tetapi ini "prefix": "c",akan membuatnya berfungsi dengan "c", bukan?
Cristian Muscalu

Jika semuanya benar. Iya. Perhatikan bahwa Anda juga perlu menambahkan cuplikan ke setiap bahasa yang ingin Anda gunakan. Jadi jika Anda menambahkannya ke TS, itu tidak akan berfungsi di JS, sebaliknya.
Sebastian Sebald

1
Sebagai alternatif, Anda dapat mengklik {}tombol di samping bilah pencarian untuk membuka keybindings.jsonfile - Cara termudah karena saya tidak dapat melihat pesan "Untuk kustomisasi lanjutan buka dan edit keybindings.json" !
Aashish Chaubey

67

Semua jawaban di atas berfungsi dengan baik, tetapi jika Anda tidak ingin mengubah konfigurasi kode studio visual, lebih suka pelengkapan otomatis karena console.log(object); Anda dapat menggunakan pintasan ini clg dan tekan Ctrl+ Spaceuntuk saran dan tekan Enter
Catatan : Fitur ini tersedia saat Anda memasang ekstensi cuplikan kode JavaScript (ES6).

Demikian pula, Anda memiliki pelengkapan otomatis untuk:

  • clg untukconsole.log(object);
  • jubah untukconsole.log('object :', object);
  • ccl untukconsole.clear(object);
  • cer untukconsole.error(object);
  • ctr untuk console.trace(object);
  • clt untukconsole.table(object);
  • cin untukconsole.info(object);
  • cco untuk console.count(label);

    (Daftar ini berlanjut ...)

tautan untuk cuplikan kode JavaScript (ES6): https://marketplace.visualstudio.com/items?itemName=xabikos.JavaScriptSnippets

masukkan deskripsi gambar di sini


5
Sempurna. +1. Inilah yang saya cari - tidak perlu membuat perubahan konfigurasi apa pun.
Chris22

40

Jawaban teratas oleh @Sebastian Sebald baik-baik saja, tetapi mengenai masalah yang sama (bukan khusus console.log, melainkan "hilang") saya ingin juga memberikan jawaban.

Awalan Anda memang berfungsi - secara default logdan dalam kasus Anda, Anda telah mengubahnya menjadi c. Ketika Anda mengetik log(atau c) VSCode akan menghasilkan daftar lengkap "semua hal ™" berdasarkan banyak faktor (misalnya saya tidak tahu faktor apa, mungkin relevansi kelas).

Hal-hal seperti potongan cenderung mengarah ke bawah. Untuk menaikkannya ke atas, meskipun panjangnya, tambahkan ini ke pengaturan Anda:

"editor.snippetSuggestions": "top"

3
Anda adalah pahlawan yang saya butuhkan. Terima kasih!
BinarySolo

1
Haha jangan khawatir sama sekali
Chris

Saya mendapatkan kesalahan yang mengatakan Property editor.snippetSuggestions is not allowed, tentang apa itu?
Bossan

@Bossan "editor.snippetSuggestions": "top"harus ditempatkan di file settings.json ( ctrl+shift+pdan jenis user settings) Atau, Anda dapat mencari properti ini di pengaturan pengguna umum (Preferensi> Pengaturan) dan menggunakan menu dropdown untuk mengubahnya top.
bordeaux

32

Ketik logdan tekan enter. Ini akan selesai secara otomatisconsole.log();


Saya tampaknya memiliki bug di mana hanya mengetik logdan menekan enter console.log();pada beberapa kesempatan, dan saya tidak tahu mengapa? Apakah hanya saya atau dapatkah orang lain mengetik loglalu masuk dan mendapatkan hasil yang konsisten console.log();setiap saat?
Ben Clarke

2
Anda harus menunggu beberapa milidetik / detik agar baris perintah mengenali apa yang telah Anda ketikkan. kadang-kadang tertinggal sedikit
nedemir

24

Di Atom ada jalan pintas yang bagus untuk console.log () dan saya menginginkan hal yang sama di VS Code.

Saya menggunakan solusi oleh @kamp tetapi butuh beberapa saat untuk mencari tahu bagaimana melakukannya. Berikut langkah-langkah yang saya gunakan.

  1. Buka: File> Preferensi> Pintasan Keyboard

  2. Di bagian atas halaman Anda akan melihat pesan yang mengatakan: Untuk kustomisasi lanjutan buka dan edit keybindings.json

Klik link

  1. Ini membuka dua panel: keybindings default, dan binding kustom Anda.

Masukkan kode di panel kanan

  1. Masukkan kode yang disediakan oleh @kamp

Terima kasih atas langkah
Moaaz Bhnas

23

Cara lain adalah dengan membuka file keybindings.json dan menambahkan kombinasi tombol yang Anda inginkan. Dalam kasus saya ini:

{
    "key": "cmd+shift+l",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
      "snippet": "console.log($1)$0;"
    }
}

"ctrl + shift + c" untuk "tombol" sedikit lebih mudah untuk diklik dengan satu tangan IMO dan itu belum diambil oleh keybinding lain jika Anda menggunakan keybindings kode vs default
russiansummer

15

Siapapun yang mencari Untuk kustomisasi lanjutan, buka dan edit keybindings.json

masukkan deskripsi gambar di sini

Klik ikon kecil ini untuk membuka keybindings.json.

Gunakan kode ini untuk menghasilkan console.log () & untuk menghasilkan console.log ("Word") untuk teks yang dipilih.

{
  "key": "ctrl+shift+l",
  "command": "editor.action.insertSnippet",
  "when": "editorTextFocus",
  "args": {
    "snippet": "console.log('${TM_SELECTED_TEXT}$1')$2;"
  }
}

1
terima kasih, pada mac harus pergi ke kode-> preferensi-> pintasan keyboard dan kemudian klik tombol itu, daripada meletakkan {...} di dalam larik.
rdprado

1
terima kasih
kawan

1
U Menghemat banyak Time Man !! Terima kasih
React Developer

Ini tidak ada di Mac saya. Aku harus melakukan cmd + shift + p dan kemudian mencari cara pintas keyboard (JSON)
martinedwards

11

Saat Anda mengetik kata log , Anda akan melihat sesuatu seperti ini:

Memilih metode yang bertuliskan Masuk ke konsol

Pilih salah satu yang mengatakan Masuk ke konsol jika Anda melihat opsi log yang berbeda (yang pada dasarnya akan dimungkinkan ketika Anda memiliki beberapa pengenal dengan log nama.

Klik Enter.

console.log () diketik secara otomatis!

Intellisense akan melakukan tugasnya!


9

Jika ada yang tertarik untuk memasukkan teks yang saat ini dipilih ke dalam console.log()pernyataan:

{
    "key": "cmd+shift+l",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
      "snippet": "console.log(${TM_SELECTED_TEXT}$1)$0;"
    }
}

Ini luar biasa!
AJ Hsu

9

Ketik 'clg' lalu tekan ctrl+ spacedan tekan enter, maka otomatis akan selesai console.log().
Untuk ini, Anda hanya perlu memasang ekstensi yaitu cuplikan kode JavaScript (ES6).


Juga 'cwa' untuk console.warn ()
Amir Shabani

8

clg + tab

atau seperti yang disebutkan di atas,

log + enter (opsi kedua di dropdown)

Ini adalah pertanyaan lama, tapi saya harap berguna untuk orang lain.


clg + tab memberi ChannelMergerNodesaya!
jb

Saya pikir Anda perlu mengedit keybindings Anda seperti yang disebutkan dalam jawaban di atas;)
palmaone

3

Saya tidak tahu ekstensi apa yang saya gunakan tetapi saya cukup mengetik log dan menekan tab ke autocomplete console.log (); menempatkan kursor di antara kurung kurawal.


2

Di bawah ini adalah teks yang saat ini dipilih dengan tanda kutip tunggal. Semoga membantu

// Place your key bindings in this file to overwrite the defaults
[{
    "key": "ctrl+shift+c",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
        "snippet": "console.log('${TM_SELECTED_TEXT}$1')$2;"
    }

}]

2

Inilah solusi yang lebih baik

{
        "key": "cmd+shift+c",
        "command": "editor.action.insertSnippet",
        "when": "editorTextFocus",
        "args": {
            "snippet": "console.log('${TM_SELECTED_TEXT}', $TM_SELECTED_TEXT$1);"
        }
    }

0

Sebagai alternatif, Anda dapat membuat fungsi yang mudah ditulis yang memanggil console.log dan kemudian memanggil fungsi itu.

 var a = funtion (x) {console.log(x)}
 a(2*2);        //prints 4

1
Ini tidak menjawab pertanyaan OP karena ini harus diimpor ke setiap proyek, dan hanya merupakan gangguan langsung. Memiliki keybind bawaan jelas merupakan cara mereka untuk pergi ke sini
Sweet Chilly Philly

0

Ketik codan tekan tabatau enter.

Harus bekerja di luar kotak.


Saya pikir ini mungkin tidak terlalu dapat diandalkan atau bergantung pada ekstensi. Bagi saya co + enter menghasilkan hanya keluaran teks dan co + tab menghasilkan "konfirmasi". Bahkan tab "kontra" + hanya menghasilkan "konsol".
Joel Peltonen

dikonversi menjadi consoleuntuk saya
Joey Baruch
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.