57

I can't believe that neither a Google or SO search has turned up a definitive answer or even much discussion for this, but:

Is it possible to edit/customize keyboard shortcuts in the Google Chrome JavaScript debugger? if so, how?

I'm used to Eclipse's F5/F6/F7/F8 debugger step into/over/out of/resume keys, and want the same bindings in Google Chrome. F10/F11 are default Expose keys for OSX and therefore not ideal for debugger control.

I'm open to unorthodox solutions, e.g. Quicksilver/AppleScript.

Related, but not-quite-helpful, pages:

4

11 回答 11

14

有关的:

Addy 开始了一个问题“为 DevTools 自定义键盘快捷键/键绑定的能力”: https ://code.google.com/p/chromium/issues/detail?id=174309

于 2014-04-06T13:07:55.247 回答
4

现在有一个实验性设置可让您自定义快捷方式!

点击 DevTools 中的设置按钮:

开发工具设置

然后 Experiments,搜索“key”并勾选 Enable keyboard shortcut editor 将添加 Shortcuts 项:

在此处输入图像描述

您现在可以自定义快捷方式,如果您使用 VS Code,有一个方便的快捷方式:

在此处输入图像描述

您必须重新加载 DevTools 才能使其生效。

于 2021-09-04T10:56:33.610 回答
3

我用Karabiner做到了这一点。我使用的是全尺寸键盘(F1-F19键),所以我将它们映射F13F16. 这样键的布局与 Chrome 中按钮的布局相匹配。键盘映射文件:

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>CHROME</appname>
    <equal>com.google.Chrome</equal>
  </appdef>

  <item>
    <name>CHROMEDEBUGGINGKEY</name>
    <appendix>This maps the F13-F16 keys to Chrome debugging keys</appendix>
    <identifier>private.swap_chrome_to_debug_settings</identifier>
    <only>CHROME</only>
    <!--<autogen>__KeyToKey__ KeyCode::SPACE, KeyCode::TAB</autogen>-->
    <autogen>
      __KeyToKey__
      KeyCode::F13, KeyCode::F8
    </autogen>
    <autogen>
      __KeyToKey__
      KeyCode::F14, KeyCode::F10
    </autogen>
    <autogen>
      __KeyToKey__
      KeyCode::F15, KeyCode::SEMICOLON, ModifierFlag::COMMAND_L
    </autogen>
    <autogen>
      __KeyToKey__
      KeyCode::F16, KeyCode::SEMICOLON, ModifierFlag::COMMAND_L, ModifierFlag::SHIFT_L,
    </autogen>
  </item>
</root>
于 2015-06-18T21:42:00.363 回答
2

Chrome 快捷方式管理器对我不起作用,但使用 KeyRemap4MacBook 可以。更多详细信息:Mac 上的 Google Chrome 开发者工具键盘快捷键自定义

于 2014-01-10T20:37:38.940 回答
2

我的解决方案是使用Autohotkey,这是我在任何应用程序中用于快捷方式的工具。

我制作并运行这样的 .ahk 脚本:

#IfWinActive ahk_class Chrome_WidgetWin_1 ; Chrome browser
F2::Send, ^b ; toggle breakpoint (Ctrl+b)
^b::Send, ^m ; use Ctrl+b for something else

很简单:只有在 Chrome 浏览器窗口处于活动状态时,覆盖 F2 键并模拟 Ctrl+b,这是切换断点的官方 Chrome 快捷键。

我实际上是在 Windows 启动时运行我的 ahk 脚本,因此快捷方式始终处于活动状态。

您可以添加更多快捷方式。您可以使用不同的浏览器或应用程序。我还无法改进的一件事是仅当浏览器中的 Web 开发人员工具处于活动状态时才侦听快捷方式,也许有办法。

于 2017-12-19T09:56:41.797 回答
1

唯一对我有用的是在操作系统级别禁用快捷方式(或将它们更改为其他内容)。

在 OSX 中,您可以转到System Preferences > keyboard > Keyboard Shortcuts并更改/禁用在 Chrome 中工作所需的快捷方式。

于 2013-04-09T16:37:42.560 回答
1

每个操作系统都有键映射器,允许覆盖默认键组合;这里有一些:

  • 视窗
    • 发短信
    • 自动热键
  • 操作系统
    • 类型
  • Linux
    • 自动键

Fork 并扩展 Chrome 快捷方式管理器以实现本机功能。

参考

于 2012-08-21T18:33:01.900 回答
1

这是我用于映射 Chrome 调试器快捷键的Autohotkey脚本

#IfWinActive ahk_class Chrome_WidgetWin_1 ; targetting only Chrome browser
F8::Send, {F10}   ; chrome debugger next step   map key F8      to chrome devtools F10
F9::Send, {F8}    ; chrome debugger continue    map key F9      to chrome devtools F8
F7::Send, {F11}   ; chrome debugger step in     map key F7      to chrome devtools F11 
^F7::Send, +{F11} ; chrome debugger step out    map key Strg+F7 to chrome devtools Shift+F11 

如果您想在现有的 ahk 脚本中包含该片段,请将其添加到脚本的末尾。

于 2018-04-18T07:51:17.780 回答
1

受@jcollum 回答的启发,这里是另一个Karabiner private.xml定义。这个模仿了我的 IntelliJ 键绑定。另请参阅apple.stackexchange.com 上的键盘快捷键切换答案。

<?xml version="1.0"?>
<root>
  <item>
    <name>Custom via private.xml</name>

    <appdef>
      <appname>ChromeLike</appname>
      <equal>com.google.Chrome</equal>
      <equal>com.vivaldi.Vivaldi</equal>
      <prefix>org.epichrome.app.</prefix>
    </appdef>
    <item>
      <name>Remap debugger keys in Chrome (IntelliJ)</name>
      <appendix>Change consumer keys to function keys matching IntelliJ shortcuts</appendix>
      <identifier>private.app_chromelike_switch_consumer_to_intellij_debugger</identifier>
      <only>ChromeLike</only>
      <autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PREV, ModifierFlag::NONE, KeyCode::F11</autogen> <!-- F7 Step Into -->
      <autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PLAY, ModifierFlag::NONE, KeyCode::F10</autogen> <!-- F8 Step Over -->
      <autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PLAY, ModifierFlag::SHIFT_L, KeyCode::F11, ModifierFlag::SHIFT_L</autogen> <!-- S-F8 Step Out -->
      <autogen>__KeyToKey__ ConsumerKeyCode::KEYBOARDLIGHT_HIGH, ModifierFlag::NONE, KeyCode::F11, ModifierFlag::SHIFT_L</autogen> <!-- F6 Step Out -->
      <autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_NEXT, ModifierFlag::NONE, KeyCode::F8</autogen> <!-- F9 Resume -->
    </item>

  </item>
</root>
于 2016-06-22T20:31:14.803 回答
1

受@jcollum 回答的启发,这里是另一个Karabiner private.xml定义,这个定义在原始问题中实现了特定的Eclipse 键绑定。另请参阅apple.stackexchange.com 上的键盘快捷键切换答案。

<?xml version="1.0"?>
<root>
  <item>
    <name>Custom via private.xml</name>

    <appdef>
      <appname>ChromeLike</appname>
      <equal>com.google.Chrome</equal>
      <equal>com.vivaldi.Vivaldi</equal>
      <prefix>org.epichrome.app.</prefix>
    </appdef>
    <item>
      <name>Remap debugger keys in Chrome (Eclipse)</name>
      <appendix>Change consumer keys to function keys matching Eclipse shortcuts</appendix>
      <identifier>private.app_chromelike_switch_consumer_to_eclipse_debugger</identifier>
      <only>ChromeLike</only>
      <autogen>__KeyToKey__ ConsumerKeyCode::KEYBOARDLIGHT_LOW,  ModifierFlag::NONE, KeyCode::F11</autogen> <!-- F5 Step Into -->
      <autogen>__KeyToKey__ ConsumerKeyCode::KEYBOARDLIGHT_HIGH, ModifierFlag::NONE, KeyCode::F10</autogen> <!-- F6 Step Over -->
      <autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PREV, ModifierFlag::NONE, KeyCode::F11, ModifierFlag::SHIFT_L</autogen> <!-- F7 Step Out -->
      <autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PLAY, ModifierFlag::NONE, KeyCode::F8</autogen> <!-- F8 Resume -->
    </item>

  </item>
</root>
于 2016-06-22T20:42:27.513 回答
0

如果有人使用 Ubuntu,设置全局快捷方式可能是目前最好的解决方案。这对我有用:

  1. 安装 xcape ( https://github.com/alols/xcape )。对于基于 Debian 的系统,您可以运行:

    sudo apt-get install git gcc make pkg-config libx11-dev libxtst-dev libxi-dev
    git clone https://github.com/alols/xcape.git
    cd xcape
    make
    sudo make install
    

  2. 运行以下命令为 ex 进行映射。F6 到开发工具快捷方式:

    xcape -e 'F6=Control_L|Shift_L|I'

  3. 设置您喜欢的快捷方式并将相关命令放入您.bash_profile的永久结果中

于 2017-05-30T08:21:49.900 回答