在 Chrome 中创建 console.log() 的快捷方式

IT技术 javascript google-chrome console shortcut
2021-02-27 19:06:31

因为我很懒,所以我创建了一个函数log,基本上只是以下的缩写console.log

function log() {
  console.log.apply(console, arguments);
}

每当我调用它时,我都会在 Google Chrome 的开发人员工具中看到记录的项目,右侧是记录项目的行号。但是,这个行号总是相同的,因为实际console.log调用位于代码中的一个特定位置(即我在log上面声明函数的位置)。

我还尝试过的只是:

var log = console.log;

但这总是会引发错误:Illegal invocation很奇怪,但我想这不太可能。

如何console.log使用 Developer Tools 显示log被调用的行号,而不是实际console.log调用所在的位置?

4个回答

当我报告它时,它被拒绝了,但答案很简单 - 创建这样的快捷方式:

var log = console.log.bind(console);

这不会遗漏行号,而您可以将其称为log(...).

我见过的最好的方式。我想补充一点,为了禁用某些功能的日志记录,可以编写:const $=0; $ && log('hello javascript');
2021-04-17 19:06:31
这是永久性的还是当我关闭并打开 chrome 时它会消失?
2021-04-30 19:06:31
@pimvdb:获取行号的任何解决方法。
2021-05-06 19:06:31

我刚刚创建了一个module来做到这一点。

查看:https : //github.com/ahlechandre/consl

安装

npm install consl --save-dev

用法

const { cl } = require('consl');

cl('Outputs a message on the Console using a quick');

就我而言,我使用 Ctrl + Alt + L 设置了一个 AutoHotKey 快捷方式,如下所示:

^!l::Send console.log();{Left}{Left}

好处是它将光标带回到括号内以便快速输入。

尝试了一些东西,但我认为你不能做到这一点。一旦你 wrap console.log,行 nr 将是在代码中找到这个 wrap 的行。我想我们必须忍受那个吗?

您可以随时尝试,这是可以理解的需求。不过,我认为@Chromium 不会获得高优先级排名;~)。
2021-04-25 19:06:31