工具类注册基本写法
/** * num 小于0,左缩进num*2个空格; 大于0,右缩进num*2个空格。 * @param {string} str 代码 * @param {number} num 缩进次数 * @param {number} len 【可选】缩进单位,空格数 */ export function indent(str, num, len = 2) { if (num === 0) return str const isLeft = num < 0; const result = []; let reg; let spaces = '' if (isLeft) { num *= -1 reg = new RegExp(`(^\\s{0,${num * len}})`, 'g') } else { for (let i = 0; i < num * len; i++) spaces += ' ' } str.split('\n').forEach(line => { line = isLeft ? line.replace(reg, '') : spaces + line result.push(line) }) return result.join('\n') }