Mac 上的 Electron 快捷方式

Shortcuts in Electron on Mac

好吧,我有一个很简单的任务,真的不难。 我有一个应用程序,它使用 electron framework 在 Windows 和 Mac 机器上使用该应用程序。 我注意到我可以在 Windows 上使用 Ctrl+c/Ctrl+v 没有任何问题,但是在我使用后我无法在 Mac 上使用 Cmd+c/Cmd+v electron-packager.

我找到了 this (CMD + C / CMD + V not working), but I have a custom menue and I don't want to define and use the one in electron itself. So I found this (global accelerators without menue 之类的解决方案,但问题仍然存在,似乎没有解决方案。 this (Local-Shortcut) 之类的解决方案也不可用,因为它们没有将 selected 文本(例如来自文本框)作为参数。

我认为使用 Cmd+c / Cmd+v 应该不是一个真正的问题,因为它是每个应用程序中的常见操作,但我目前没有看到可用的解决方案。 这也会影响所有其他快捷方式,例如 Cmd+a 到 select 一切。

如果你真的想从菜单中隐藏这些快捷方式,似乎没有办法做到这一点。

目前,最好的解决方法是仅在 MacOS 上显示快捷方式菜单:

const { Menu } = require('electron')

const menuTemplate = [...];

if (process.platform === 'darwin') {
  menuTemplate.push({
    label: 'Edit',
    submenu: [
      {role: 'undo'},
      {role: 'redo'},
      {type: 'separator'},
      {role: 'cut'},
      {role: 'copy'},
      {role: 'paste'},
      {role: 'pasteandmatchstyle'},
      {role: 'delete'},
      {role: 'selectall'}
    ]
  })
}

const applicationMenu = Menu.buildFromTemplate(menuTemplate)
Menu.setApplicationMenu(applicationMenu)

https://blog.avocode.com/blog/4-must-know-tips-for-building-cross-platform-electron-apps