Chromeが開発コンソールで文字列を切り捨てないようにできますか?


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)"

完全なオブジェクトが本当に欲しいのですが、Chromeは結果を約80文字にトリミングしたいのです。これを変更するコンソール設定には何も表示されません。

回答:


43

最近、Chrome開発ツールにはcopy切り捨てなしでクリップボードにコピーする機能があることがわかりました。また、オブジェクトをJSONにシリアル化し、DOM要素をHTMLに直接クリップボードにシリアル化します。

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

他の場所で分析するために長い文字列をクリップボードにコピーしようとしていたので、これは私のニーズを完全に満たしました


3
それは滑らかです。実際にも、質問に答えていない、代わりにコメントをする必要があります
jcollum

2
+1これはとても便利です。技術的には質問に答えないことは確かですが、質問の原因となる問題を解決します-コンソールから完全な切り捨てられていないテキストを取得する方法。テキストエディターに貼り付けるだけで、並べ替えが完了します。
theyetiman

私はChromeに
乗りました

3
@arodそれはないgobally、コンソールでのみ利用可能です
WickyNilliams

2
これはFirefoxでも機能します。
ビョルン

16

console.dir(longstringhere) 動作します。

copy私にとってもうまくいきませんでした、それはそうだと言っていましたundefined


1
こっちも一緒。「console.copy」は機能しませんでしたが、「console.dir」は機能しました。あなたは私の一日を救った。
ベティ

2
copy関数は何も出力しないためundefined(期待される)、代わりにシステムバッファーに引数をコピーctrl-vし、エディターに貼り付けます()
-nazikus

1
....働いていない
ヨッシShasho

2
コンソールからコピーする必要があります。たとえば、値がある場所にブレークポイントを配置し、コンソールを開いて、と入力しcopy(yourVariable)ます。また、そうでcopyはありませんconsole.copy
-WickyNilliams

1
指定しない場合、JSのすべての関数は未定義を返します。それで実際に動作します。
-atilkan

5

この動作は、Chromeバージョン37.0.2062.103にも存在します。

デバッグ中にこれを回避するには、document.write( 'My Really Long Debug Text');を使用します。


Windows 7上の37.0.2062.120 m:楕円なし。
jcollum 14

もう動作していません
。– Totty.js


2

次の図に示すように、Chromeをバージョン32にアップグレードします。

ここに画像の説明を入力してください


2
クロムカナリアv36 + ...それはまだそれを行います。...しかし、長さは表示されません。例えばlong string...ends here
gcb 14年

まだリリースされていないバージョンのChromeを使用しています。Ubuntuのv33では発生していません:imgur.com/RPCgR6f-プレリリース版であっても、私の解決策では問題が解決しなかったので、私に投票しましたか?!
jcollum

1
「問題を解決します。古いブラウザバージョンを実行することはできません」---古いブラウザバージョンではありません。私は最新で、ubuntuのv33にいます。私のWindowsボックスは最新で、v34です。v36の取得元はわかりません。「v33では発生しません」-発生しません。スクリーンショット(v33から)が証明しています。
jcollum

1
重要なポイントは、このバグ/動作が33または34の後に挿入されたことです。
gcb14年

1
それはすばらしい。バグレポートを提出する必要があります。Chromeの現在リリースされているバージョンには含まれていないので、Chromeの最新リリースバージョンへの更新で修正れると言って、私に賛成しないでください。そして、Win7のV34とUbuntuのV33についても同様です。
jcollum 14年

2

Chrome 58(以前のバージョン)Store as Global Variableでは、コンソールの任意の値のコンテキストメニューで、任意のレベルでネストされたメニューオプションを使用できます。選択された値を一意の名前を持つ変数に割り当て、すぐにコンソールに記録されます。

400KBの値で試してみました!

ソース:https : //stackoverflow.com/a/41726364/250838


2

コンソールにレンダリングされる文字列の長さは、inspector.js内でプログラム的に制限されています。デフォルトでは150文字に設定されています。HTMLとしてコンソールにレンダリングされているため、適用できるCSSはありません。テキストはすでに切り捨てられています。

変更できますが、少し手間がかかります。

必要かつ役立つツール:

•ack(brew install ack)またはag。(巨大なテキストファイルを非常に高速に検索するため)。

•Python用のpaktools。Chromeリソースを展開して編集できるようにします。https://github.com/Magister/pak-tools

•選択したテキストエディター。

  1. 使用しているChromeのバージョンをcdまたはナビゲートします。例としてChromiumを使用していますが、パスは他のバージョンと同じです:

    cd "/Applications/Chromium.app/Contents/Versions/YOURVERSION/Chromium Framework.framework/Resources/"
    
  2. paktoolsを複製またはダウンロードします。これにより、Chromeリソースを解凍して編集し、再パックすることができます。私は私の~./binものを置きましたが、どこにでも置くことができます。例は私のパスをミラーリングします:

  3. 今でChrome/.../Chrome Framework.framework/Resouresフォルダを実行します python2 ~/.bin/unpack.py resources.pakと、cd ./resouces

  4. あなたはそれがどこにあるかを見つけなければなりません。ファイルは常に変更されるため、同じになることはありません。 $ ag "static linkify"それは私を連れて行った28542。関数をデフォルトの2000文字に変更し、cssも更新して、コンソールを水平にスクロールできるようにしました。

  5. これで、展開したリソースフォルダーからその親フォルダーにcdして戻ります。実行: python2 ~/.bin/pack.py resourcesそして出来上がり。Chromeを再起動すると、開発ツールがカスタムになります。

警告:6. devtoolsチームは、知らないうちにフレームワークのバージョンを更新します。そして、もしそうすれば、すべてのmodを失います。/Users/Op/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall --uninstallすべてのキーストーンデーモンなどを実行および終了することでブロックします。

魅力のように機能します。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.