AHK用于使用热字符串编码代码片段

时间:2019-04-12 20:47:06

标签: autohotkey

所以我想用AHK来创建通用代码段,因为我在一些不同的程序中编码,但是我想知道是否有一种简单的方法来包含可变点或跳转到变量。这就是我现在拥有的:

::shh::var sh = SpreadsheetApp.getActiveSpreadsheet();`nvar ss = sh.getSheetByName("name");`nvar data = ss.getDataRange().getValues();

创建

sh = SpreadsheetApp.getActiveSpreadsheet();
var ss = sh.getSheetByName("name");
var data = ss.getDataRange().getValues();

但是,如果我想通过一种好方法将光标跳到粘贴字符串的“ 名称”部分,该怎么办?这似乎是其他人可以解决的问题,但我不想要一个完整的代码片段程序,这只是模仿健壮的编辑器的{variable}或^ variable功能的最简单方法。

解决方案然后按向后箭头x次数?似乎笨拙。

要开始一个循环,在该循环中粘贴片段的第一部分,请等待一个空格,然后粘贴第二部分?

我没有想到的其他输入想法?我宁愿不使用ui的东西,但这可能是前进的道路

1 个答案:

答案 0 :(得分:0)

所以我很容易避免ui输入的希望似乎放错了地方,但是我会克服它的。

在大多数情况下,我使用这样的输入框:

:*:arr]:: ; snippet for setting an array to the sheet
{
    InputBox, arrayName,Array GAS Snippet, Array name?,,,,0,300
    clipboard = 
        (
        ss.getRange(row+3, 1,%arrayName%.length, %arrayName%[0].length).setValues(%arrayName%);
        )
    send ^v
    return
}

我也只有一个可以按照我最初的意图工作,发送脚本的第一部分,等待我键入然后按“ control”,然后发送其余部分,但是使用变量感觉更强大

如果有人好奇,这就是它的外观:

:*:sh]:: ; snippet that sends the spreadsheet app thingies
{
clipboard = 
(
var sh = SpreadsheetApp.getActiveSpreadsheet();`r`nvar ss = sh.getSheetByName("
)
send ^v
sleep, 2000

KeyWait Control, D
clipboard = 
(
");`r`nvar data = ss.getDataRange().getValues();
)
send ^v
return
}