Atom 更改默认树视图和编辑器上下文菜单

Atom change default treeview and editor context menus

我正在使用 Atom 文本编辑器。我查看了配置,但没有看到任何可以编辑文件树和编辑器的默认上下文菜单的地方。

我想摆脱以下选项:剪切、复制、粘贴和 select 全部。它们使我的菜单膨胀,而且我总是使用键盘。

如何从 Atom 的上下文菜单中删除项目?

让我们破解 Atom!

Atom 在 atom.contextMenu.itemSets 中存储编辑器的上下文菜单选项。我们需要做的就是在启动时循环遍历这个数组并删除我们不需要的元素。

将此添加到您的初始化脚本 (Edit -> Open Your Init Script):

# itemsToRemove contains commands to remove organized by menu selector
itemsToRemove = {
    'atom-text-editor, .overlayer': [
        'core:cut',
        'core:copy',
        'core:paste',
        'core:select-all',
    ],
    '.tree-view.full-menu': [
        'tree-view:cut',
        'tree-view:copy',
        'tree-view:paste',
    ],
}

menus = atom.contextMenu.itemSets

for menu in menus
    if !itemsToRemove[menu.selector]
        # This is not the menu we're looking for
        continue

    items = menu.items
    evilItems = itemsToRemove[menu.selector]
    i = items.length

    # Loop backwards because we're changing the array we're looping through
    while i--
        item = items[i]

        # Is it an evil item?
        if evilItems.indexOf(item.command) > -1
            console.log 'Removing: ' + item.label + ' >> ' + item.command
            # Die, evil item, DIE!
            items.splice(i, 1)