How to filter chrome's devtool console history

Viewed 8842

In bash, I use the history-search-forward and history-search-backward feature to allow me to type in a few characters of the command I want to run, then press up arrow to cycle through items in my history that match those characters.

I want the same thing for the chrome devtool console. I often use up arrow to cycle through my history, but there doesn't seem to be a way to filter it. Does anybody have a clever solution?

[Just a note that command history matching has improved a lot in recent versions of Chrome. It's not exactly how I would like it, but it's pretty good.]

4 Answers

Try this: (based on How to remove all recent console command)

  1. Open Chrome Dev Tools on the Chrome Dev Tools window (as per post above) by following steps 1-3 on the first answer (by Rob W). Don't do step 4 or you'll wipe out your history!
  2. Run this command in the new Dev Tools console: JSON.parse(localStorage.getItem('consoleHistory')).filter(function(item){ return ~item.indexOf('indexedDB');})
    • Replace "indexedDB" with whatever it is you want to filter on.

TL;DR

  • Chrome Dev Tools is technically just another browser window.
  • The LocalStorage of the original Dev Tools is for the site you are browsing.
  • By opening Dev Tools on the Dev Tools, gives you the LocalStorage for the Dev Tools window and thus gives you access to the consoleHistory.
  • localStorage.getItem('consoleHistory') gives you a string of an Array, so you need to parse it (i.e. JSON.parse()) back into an Array so you can filter it.
  • The ~ in front of ~item.indexOf('indexedDB') is a bitwise shortcut for item.indexOf('indexedDB') > 0

Adding my 2 cents since the most upvoted answer has stopped working.

Chrome does not have a bash-like search yet (Ctrl + R) but recent versions of Chrome have history autocomplete. Start typing a command and it will show suggestions from the history (just below the usual syntax suggestions). This is not exactly "search", but good enough for "starts with" type of filtering.

Works in all Chromium browsers including MS Edge

enter image description here

Related