dapatkah saya mencegah Chrome memotong string di konsol dev?


47
> ary = new Array('test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test.');
> JSON.stringify(ary)
"["test msg kinda long but gets the point across and such and it shows ellipsises... (length: 116)"

Saya benar-benar ingin objek penuh, tetapi Chrome ingin memangkas hasilnya sekitar 80 karakter. Saya tidak melihat apa pun di pengaturan konsol yang akan mengubah ini.

Jawaban:


43

Baru-baru ini saya menemukan bahwa alat dev Chrome memiliki copyfungsi yang menyalin ke clipboard - tanpa pemotongan! Handily juga serialisasi objek ke elemen JSON dan DOM ke HTML, langsung ke clipboard.

copy(someLongString); // no truncation!
copy({ foo : true }); // JSON
copy(someDOMElement); // HTML

Karena saya mencoba menyalin string panjang ke clipboard untuk analisis di tempat lain, ini memenuhi kebutuhan saya dengan sempurna


3
itu licin; tidak benar-benar menjawab pertanyaan, melainkan komentar
jcollum

2
+1 ini sangat berguna. Memang itu tidak secara teknis menjawab pertanyaan tetapi memecahkan masalah yang menyebabkan pertanyaan itu ditanyakan - bagaimana mendapatkan teks yang utuh dan tidak terpotong dari konsol. Cukup rekatkan ke editor teks dan Anda disortir.
theyetiman

Saya masuk Chrome: Uncaught ReferenceError: salinan tidak ditentukan
arod

3
@arod hanya tersedia di konsol, tidak secara global
WickyNilliams

2
Ini berfungsi di Firefox juga.
Björn

16

console.dir(longstringhere) bekerja.

copytidak bekerja untuk saya juga, itu mengatakan itu undefined.


1
Sama disini. 'console.copy' tidak berfungsi tetapi 'console.dir' bekerja. Kamu menyelamatkan hariku.
Betty

2
copyfungsi tidak menampilkan apa pun (karenanya undefineddiharapkan), alih-alih menyalin argumen ke buffer sistem Anda, cukup tempelkan ( ctrl-v) ke editor mana pun
nazikus

1
tidak bekerja ....
Yossi Shasho

2
Anda harus menyalin dari konsol mis. Letakkan breakpoint di mana nilainya, buka konsol, ketik copy(yourVariable). Juga, hanya saja copytidakconsole.copy
WickyNilliams

1
Setiap fungsi dalam pengembalian JS tidak terdefinisi jika tidak ditentukan. Jadi itu benar-benar berfungsi.
atilkan

5

Perilaku ini masih ada di Versi Chrome 37.0.2062.103.

Anda dapat menyiasatinya saat melakukan debug dengan menggunakan: document.write ('Teks Debug Sangat Panjang Saya');


37.0.2062.120 m di Windows 7: tidak ada elips.
jcollum

Tidak bekerja lagi ..
Totty.js


2

Tingkatkan Chrome ke versi 32 yang tidak lagi melakukan ini, seperti yang ditunjukkan oleh gambar ini:

masukkan deskripsi gambar di sini


2
chrome canary v36 + ... masih bisa melakukan itu. ... tapi sekarang tidak menunjukkan panjangnya. mis long string...ends here.
gcb

Anda berada di versi chrome yang belum dirilis. Itu tidak terjadi di v33 di Ubuntu: imgur.com/RPCgR6f - apakah Anda downvote saya karena solusi saya tidak memperbaiki masalah Anda meskipun Anda berada dalam versi pra-rilis ?!
jcollum

1
"pecahkan masalah. menjalankan versi browser lama tidak mungkin" --- itu bukan versi browser lama! Saya up to date dan di v33 di ubuntu. Kotak windows saya up to date dan itu v34. Saya tidak tahu dari mana Anda mendapatkan v36. "itu tidak terjadi pada v33" - dan tidak, yang dibuktikan tangkapan layar (dari v33).
jcollum

1
kuncinya adalah bug / perilaku ini dimasukkan kembali setelah 33 atau 34.
gcb

1
Itu bagus. Anda harus mengirimkan laporan bug. Karena versi Chrome yang dirilis saat ini tidak memilikinya, Anda tidak boleh menurunkan saya karena mengatakan memperbarui ke versi Chrome terbaru yang dirilis untuk memperbaikinya. Dan itu berlaku untuk V34 di Win7 dan V33 di Ubuntu.
jcollum

2

Di Chrome 58 (mungkin lebih awal) Anda dapat menggunakan Store as Global Variableopsi menu pada menu kontekstual dari nilai apa pun di konsol, bersarang di tingkat mana pun. Ini memberikan nilai yang dipilih ke variabel dengan nama unik, yang segera dicatat ke konsol.

Baru saja mencobanya dengan nilai 400KB!

Sumber: https://stackoverflow.com/a/41726364/250838


2

Panjang string yang diberikan ke konsol terbatas secara pemrograman di dalam inspector.js. Ini diatur ke 150 karakter secara default. Tidak ada CSS yang dapat Anda terapkan karena sedang diterjemahkan ke konsol sebagai HTML. Teks sudah terpotong.

Anda dapat mengubahnya tetapi perlu sedikit usaha:

Alat yang Diperlukan dan Bermanfaat:

• ack (buatan install ack) atau ag. (untuk mencari file teks besar sangat cepat).

• paktools untuk python. Untuk membongkar sumber daya chrome untuk dapat mengeditnya. https://github.com/Magister/pak-tools .

• editor teks pilihan.

  1. cd atau navigasikan ke versi Chrome apa pun yang Anda miliki. Saya menggunakan Chromium sebagai contoh tetapi jalurnya sama pada versi lain:

    cd "/Applications/Chromium.app/Contents/Versions/YOURVERSION/Chromium Framework.framework/Resources/"
    
  2. Klon atau unduh paktools. Ini akan memungkinkan Anda untuk membongkar sumber daya chrome, mengeditnya dan kemudian mengemasnya kembali. Saya menempatkan milik saya di ~./bintetapi Anda dapat menempatkan mereka di mana saja. Contoh akan mencerminkan jalur saya:

  3. Sekarang di Chrome/.../Chrome Framework.framework/Resouresfolder jalankan: python2 ~/.bin/unpack.py resources.pakandcd ./resouces

  4. Anda harus menemukan tempat itu. File berubah sepanjang waktu sehingga tidak pernah sama. $ ag "static linkify"Itu membawaku ke 28542. Saya memodifikasi fungsi ke default ke 2000 karakter, dan juga memperbarui css sehingga saya bisa gulir secara horizontal di konsol.

  5. sekarang cd kembali keluar dari folder sumber daya yang telah Anda buka dan masuk ke induknya. Jalankan: python2 ~/.bin/pack.py resourcesdan voila. Mulai ulang Chrome dan devtools Anda sekarang kustom.

PERINGATAN: 6. Tim devtools mendorong pembaruan versi kerangka kerja tanpa Anda sadari. Dan Anda akan kehilangan semua mod Anda jika itu terjadi. Saya memblokirnya dengan mengeksekusi /Users/Op/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall --uninstalldan membunuh semua diakon keystone dll.

Bekerja seperti pesona.

masukkan deskripsi gambar di sini

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.