posso impedir que o Chrome trunque seqüências de caracteres no console de desenvolvimento?

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

Eu realmente quero o objeto completo, mas o Chrome quer aparar o resultado em cerca de 80 caracteres. Não vejo nada nas configurações do console que possa mudar isso.

jcollum
fonte

Respostas:

43

Descobri recentemente que as ferramentas de desenvolvimento do Chrome têm uma copyfunção que copia para a área de transferência - sem truncamento! Facilmente, também serializa objetos para elementos JSON e DOM para HTML, diretamente para a área de transferência.

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

Como eu estava tentando copiar uma cadeia longa para a área de transferência para análise em outro lugar, isso atendeu minhas necessidades perfeitamente

WickyNilliams
fonte
3
isso é liso; realmente não responder à pergunta, porém, deve ser um comentário em vez
jcollum
2
+1 isso é tão útil. Concedido que tecnicamente não responde à pergunta, mas resolve o problema que faz com que a pergunta seja feita - como obter o texto completo e não truncado do console. Basta colá-lo em um editor de texto e você será classificado.
Theyetiman #
Estou usando o Chrome: Uncaught ReferenceError: copy is not defined
arod
3
@arod está disponível apenas no console, não em termos globais
WickyNilliams
2
Isso funciona no Firefox também.
Björn
16

console.dir(longstringhere) trabalho.

copytambém não funcionou para mim, estava dizendo que sim undefined.

em repouso
fonte
11
O mesmo aqui. 'console.copy' não funcionou, mas 'console.dir' funcionou. Você salvou meu dia.
Betty
2
copyfunção não nada de saída (daí undefinedse espera), em vez de copiar argumento para seu buffer de sistema, apenas colá-lo ( ctrl-v) em qualquer editor
nazikus
11
não está funcionando ....
Yossi Shasho
2
Você deve copiar do console, por exemplo, colocar um ponto de interrupção em que o valor seja, console aberto, tipo copy(yourVariable). Além disso, simplesmente copynão éconsole.copy
WickyNilliams
11
Toda função em JS retorna indefinida se não for especificada. Então realmente funciona.
atilkan
5

Esse comportamento ainda existe na versão 37.0.2062.103 do Chrome.

Você pode contornar isso durante a depuração usando: document.write ('My Really Long Debug Text');

Repolho
fonte
37.0.2062.120 m no Windows 7: sem elipses.
jcollum
Não está mais funcionando ..
Totty.js 23/06
4

Eu uso o seguinte:

var text = 'a really long string';
window.prompt("Copy to clipboard", text);

copie o texto do campo de edição.

Dexter Le Blanc Jr.
fonte
Isso também é truncado
citizen conn
2

Atualize o Chrome para a versão 32, que não faz mais isso, conforme mostrado nesta figura:

insira a descrição da imagem aqui

jcollum
fonte
2
chrome canary v36 + ... ainda faz isso. ... mas agora não mostra o comprimento. por exemplo long string...ends here.
gcb
Você está em uma versão do chrome que ainda não foi lançada. Isso não está acontecendo na v33 no Ubuntu: imgur.com/RPCgR6f - você me rebaixou porque minha solução não resolveu seu problema, mesmo que você esteja em uma versão de pré-lançamento ?!
Jcollum
11
"resolver o problema. não é possível executar uma versão antiga do navegador" --- não é uma versão antiga do navegador! Estou atualizado e na v33 no ubuntu. Minha caixa do Windows está atualizada e é a v34. Não sei de onde você está recebendo a v36. "isso não acontece na v33" - e não, o que a captura de tela (da v33) prova.
Jcollum
11
o principal argumento é que este bug / comportamento foi inserido de volta depois de 33 ou 34.
gcb
11
Isso é bom. Você deve enviar um relatório de bug. Como a corrente liberada versão do Chrome não tem isso, você não deve downvote-me por dizer a atualização para a mais recente lançado versão de correções Chrome a. E isso vale para V34 no Win7 e V33 no Ubuntu.
jcollum
2

No Chrome 58 (talvez antes), você pode usar a Store as Global Variableopção de menu no menu contextual de qualquer valor no console, aninhado em qualquer nível. Ele atribui o valor selecionado a uma variável com um nome exclusivo, que é imediatamente registrado no console.

Apenas tentei com um valor de 400 KB!

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

Ando
fonte
2

O comprimento da sequência que é renderizada no console é limitado programaticamente dentro do inspector.js. É definido para 150 caracteres por padrão. Não há CSS que você possa aplicar, pois ele está sendo renderizado no console como HTML. O texto já foi truncado.

Você pode mudar, mas vai dar um pouco de trabalho:

Ferramentas necessárias e úteis:

• ack (instalação de instalação ack) ou ag. (para pesquisar arquivos de texto enormes muito rápido).

• paktools para python. Para descompactar os recursos do chrome para poder editá-los. https://github.com/Magister/pak-tools .

• editor de texto de sua escolha.

  1. CD ou navegue para qualquer versão do Chrome que você possui. Estou usando o Chromium como exemplo, mas o caminho é o mesmo em outras versões:

    cd "/Applications/Chromium.app/Contents/Versions/YOURVERSION/Chromium Framework.framework/Resources/"
    
  2. Clone ou faça o download dos paktools. Isso permitirá descompactar os recursos do chrome, editá-los e reembalá-los. ~./binColoquei o meu no meu, mas você pode colocá-lo em qualquer lugar. Exemplos espelharão meu caminho:

  3. Agora na Chrome/.../Chrome Framework.framework/Resourespasta execute: python2 ~/.bin/unpack.py resources.pakecd ./resouces

  4. Você terá que descobrir onde está. Os arquivos mudam o tempo todo e, portanto, nunca são os mesmos. $ ag "static linkify"Isso me levou a 28542. Modifiquei a função para o padrão 2000 caracteres e também atualizei o css para que eu pudesse rolar horizontalmente no console.

  5. agora retire o CD da pasta de recursos que você descompactou e para a pasta pai. Execute: python2 ~/.bin/pack.py resourcese voila. Reinicie o Chrome e seus devtools agora são personalizados.

AVISO: 6. A equipe do devtools atualiza as versões da estrutura sem você saber. E você perderá todos os seus mods, se o fizerem. Eu o bloqueio executando /Users/Op/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall --uninstalle matando todos os dave da pedra angular, etc.

Funciona como um encanto.

insira a descrição da imagem aqui

Mod
fonte