AutoHotkey hotstrings在eclipse中无法正常工作

问题描述:

对于我经常使用的各种文本,我使用AutoHotkey,所以在签名或经常使用的邮件文本中,我还存储了一些代码片段以供快速使用。AutoHotkey hotstrings在eclipse中无法正常工作

其中一些热点字串在编辑器(如wordpad或ultraedit)中正常工作,但在eclipse中(我的版本是3.6.1),它们不能正确删除热点字符串。

很简单的例子:

  • 我输入#echo
  • 我得到一个变量的提示
  • 我提供
  • 的字符串插入到当前文件中的字符串$ myVar的

如上所述,这在很多编辑器中都可以正常工作,但不能在日食中使用热点字符串的部分 - 例如#ec - 保留在输出之前,热点不会完全删除。奇怪的是,有时它会留下一个字母,有时候会是3,而没有任何明显的逻辑。

在我AutoHotkey的文件foo.ahk我有一些像这样的代码:

::#echo:: 
InputBox, VAR, User input, Please enter the variable VAR., , 320, 130 
SendInput, 
(
<?php echo(%VAR%); ?> 
) 
Return 

与AutoHotkey的一个新手我之前有一些其他的问题,我可以解决,所以他们不应该是源所描述的问题。

  • 脚本使用特殊字符,如德语变音已经在UTF8编码
  • 脚本或编译的脚本必须以管理员身份运行

我不知道什么日食问题的原因可能是的,任何暗示是赞赏。

我刚刚尝试过自己,看到了相同的行为。对我而言,切换到SendPlay模式而非固定SendInput使事情完美。只是你发布的代码之前

#Hotstring SP 

,看看是否能解决问题:

添加行。

查看文档中的'#Hotstring'命令以获取更多信息以及'Hotstrings和Auto-replace'选项部分。

UPDATE

好吧,试试这个:

#Hotstring B0 

::#echo:: 
SendInput, {Control Down}{Shift Down}{Left 2}{Control Up}{Shift Up} 
InputBox, VAR, User input, Please enter the variable VAR., , 320, 130 
SendInput, 
(
<?php echo(%VAR%); ?> 
) 
Return 

的 '#Hotstring B0' 线将防止从的AutoHotkey本身做退格。第一个SendInput行将发送Ctrl-Shift-Left两次以选择键入的'#echo'文本,然后它将被InputBox后面的第二个SendInput替换。

这是一个多一点hacky,你可能需要改变'{左2}'的数字取决于你如何使用它的东西,但这也适用于我。

+0

感谢,但它并没有为我工作:-(像以前还是一样的行为。 – stefax 2011-03-15 13:39:14

+0

奇怪。我已经更新了我的答案,包括应该工作的另一种方法。 – 2011-03-15 14:13:11

+0

再次感谢...我喜欢这个想法,尽管它很黑,并且在记事本中它不会像在eclipse或ultraedit中那样工作,因为逻辑使用Ctrl-Shift进行跳转选择是不同的,但eclipse在这方面一直没有成功,对于像ultraedit这样的其他程序来说,这种方式很好。 – stefax 2011-03-16 08:34:40

为什么坚持热点? 您可以使用一个奇怪的热键而不是(像Alt键 + 的Windows + V

!#v:: 
InputBox, VAR, User input, Please enter the variable VAR., , 320, 130 
SendInput, 
(
<?php echo(%VAR%); ?> 
) 
Return