-
Install Web Extension Tampermonkey
-
Active Development Mode (in extensions)
-
Add this Script…
// ==UserScript==
// @name Snippets PHP para Scriptcase
// @namespace http://tampermonkey.net/
// @version 1.1
// @description Inserta snippets PHP al presionar Ctrl+J en Scriptcase
// @match :///scriptcase/*
// @include scriptcase
// @run-at document-idle
// @grant none
// ==/UserScript==
(function () {
‘use strict’;
const phpSnippets = [
{ text: 'foreach ($array as $key => $value) {\n \n}', displayText: 'foreach' },
{ text: 'function nombre($params) {\n \n}', displayText: 'function' },
{ text: 'try {\n \n} catch (Exception $e) {\n \n}', displayText: 'try/catch' },
{ text: 'if ($condicion) {\n \n}', displayText: 'if' },
{ text: 'switch ($var) {\n case 1:\n break;\n default:\n break;\n}', displayText: 'switch' },
{ text: 'echo "texto";', displayText: 'echo' }
];
function showSnippetHints(cm) {
const cursor = cm.getCursor();
const from = { line: cursor.line, ch: cursor.ch };
const to = { line: cursor.line, ch: cursor.ch };
cm.showHint({
hint: function () {
return {
from: from,
to: to,
list: phpSnippets
};
},
completeSingle: false
});
}
function setup(cm) {
cm.addKeyMap({
'Ctrl-J': function (cm) {
console.log("[Snippets] Ctrl+J activado.");
showSnippetHints(cm);
}
});
}
function init() {
const editorDiv = document.querySelector('.CodeMirror');
const cm = editorDiv?.CodeMirror;
if (!cm || typeof cm.showHint !== "function") {
console.warn("CodeMirror o showHint no disponible.");
return;
}
console.log("[Snippets] CodeMirror detectado. Activando keymap...");
setup(cm);
}
// Esperamos un poco a que cargue
setTimeout(init, 1500);
})();
And then, with Ctrl+J … auto snippets…
sample… foreach Ctrl+J…
Try, and optimize!
Thanks