diff --git a/WebIDE/enhance.user.js b/WebIDE/enhance.user.js index fd7fa81..9491406 100644 --- a/WebIDE/enhance.user.js +++ b/WebIDE/enhance.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name WebIDE增强脚本 // @namespace http://ide.yumc.pw/ -// @version 0.5 +// @version 0.6 // @description Coding WebIDE 增强脚本 // @author MiaoWoo // @match http*://ide.yumc.pw/ws/* @@ -18,34 +18,77 @@ clearInterval(id); } }, 300) + var keyMapList = { + // Alt + ` 开关终端 (注意 光标在终端时 快捷键失效) + "192": { + type: 'normal', + class: "icon octicon octicon-terminal" + }, + // Alt + U 拉取代码 + "85": { + type: 'menu', + menu: 'menuBarItems.git.main', + class: "menu-item-icon octicon octicon-repo-pull" + }, + // Alt + P 推送代码 + "80": { + type: 'menu', + menu: 'menuBarItems.git.main', + class: "menu-item-icon octicon octicon-repo-push" + }, + // Alt + C 项目网络 + "67": { + type: 'normal', + class: "icon octicon octicon-git-commit" + }, + // Alt + 1 工作树 + "49": { + type: 'normal', + class: "icon octicon octicon-file-submodule" + }, + // Alt + 2 工作文件 + "50": { + type: 'normal', + class: "icon fa fa-folder-open-o" + } + }; + function findAndClick(key) { + var keyMap = keyMapList[key]; + if (keyMap) { + if (keyMap.type === "menu") { document.getElementById(keyMap.menu).click(); } + var item = document.getElementsByClassName(keyMap.class)[0]; + if (item) { item.click() } + } else { + console.log(key); + } + } document.onkeydown = function() { var e = window.event; - if (e.altKey) { - switch (e.keyCode) { - case 87: - // Alt + W 关闭Tab标签页 - var activeTab = document.getElementsByClassName('tab-label active')[0]; - if (activeTab) { - activeTab.childNodes[2].childNodes[0].click(); + switch (e.keyCode) { + case 87: + // Alt + W 关闭Tab标签页 + var activeTab = document.getElementsByClassName('tab-label active')[0]; + if (activeTab) { + activeTab.childNodes[2].childNodes[0].click(); + } + break; + case 81: + // Alt + Q 切换Tab标签页 + var currectTab = document.getElementsByClassName('tab-label active')[0]; + if (currectTab) { + var tab; + if (currectTab.nextElementSibling) { + tab = currectTab.nextElementSibling; + } else { + tab = document.getElementsByClassName('tab-label')[0]; } - break; - case 81: - // Alt + Q 切换Tab标签页 - var currectTab = document.getElementsByClassName('tab-label active')[0]; - if (currectTab) { - var tab; - if (currectTab.nextElementSibling) { - tab = currectTab.nextElementSibling; - } else { - tab = document.getElementsByClassName('tab-label')[0]; - } - if (tab) { - tab.click(); - } + if (tab) { + tab.click(); } - break; - default: - } + } + break; + default: + findAndClick(e.keyCode); } } })();