AutoHotKey整理

AutoHotKey整理

  • vscode环境搭建
  • 脚本调试
  • 变量赋值及引用
  • 快捷键定义

开发过程中,一旦有重复的操作,手动拷贝文件、经常操作或打开某个文件夹,此时要有“偷懒”的意识,是不是该搞个工具了。有时候真的很容易被麻痹,但往往是这些重复的操作搞得焦头烂额、烦躁不堪。最近开发中就遇到启动的程序退不出,每次都要打开任务管理器,找到进程,结束任务。实在忍无可忍,找个可配置快捷键的工具,AutoHotKey。是个相对比较冷门的工具,不过用习惯之后确实很爽。本篇主要记录下环境搭建和基本用法。

vscode环境搭建

1.安装AutoHotKey的扩展插件,插件安装后,创建.ahk的脚本文件后,在编辑时会有命令的提示;
2.创建运行任务,菜单中选择"终端>配置任务",自动生成task.json文件。vscode所有任务都放在这一个json文件中,其他命名的json文件,在任务列表中是不会展示的。具体配置如下:

	{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Run Ahk Script",  ;任务名称
            "type": "process", ;vs分为shell和process两种类型的任务,对ahk脚本而言是通过AutoHotKey进程解释执行,所以选择process;
            "command": "C:/Program Files/AutoHotkey/AutoHotkeyU32.exe", ;AutoHotKey进程文件的绝对路径;
            "args": [
                "${file}" ;文件名称作为进程执行的参数,注意必须在切换到ahk文件编辑窗口时,该引用变量的值才正确;
            ],
            "problemMatcher": []
        }
    ]
	}

AutoHotkey有多个名称的进程,分别对应不同的编码类型, 根据自己需要选择。双击默认打开帮助文档,在cmd窗口中又可作为工具使用,参数必须为.ahk文件,否则报错。

脚本调试

对ahk有相关的调试脚本和ide,单如果在vscode或notepad中直接运行,调试只能通过在代码中插入信息打印的方式,来进行调试。可以通过msgbox或者Tooltip控件做显示打印,但每次都要手动关窗口,不是很方便。个人喜欢通过debuview来做打印输出。步骤:

  1. 安装并启动debugview;
  2. 在脚本语句中通过OutputDebug打印变量值,如:
var1 := 123456
var2 := 654321
OutputDebug % var1 + var2; 打印输出为777777

变量赋值及引用

Ahk中支持多种类型的变量,字符串、整形或浮点型数值和bool值等;类型的推导是在执行的过程中动态推导的。
变量定义方式如下:
1.字符串

;定义字符串变量str_var
str_var = abc
str_var := "abc"

2.整形值

;定义int_var
int_var= 1
int_var:= 1

若要将变量赋值为空:var=即可。

对于变量的使用:
3.变量赋值

var1 = abc
var2 = var1; var2的值为字符串var1
var2 := var1; var2值为abc
var2 = %var1%; var2值为abc
var2 := %var1%;var2值为空

所以对变量var1的解析有两种方式:=或%var%,若同时使用两种方式,则取值为空。上述解析过程对表达式同样适用,如:

var1 = 1, var2 = 2
var3 = var1 + var2; var3的值为字符串var1 + var2
var3 := var1 + var2; var3的值为整形值3
MsgBox % var1 + var2; 输出为3

4.变量的引用解析
在函数调用时

var1 = 1
var2 = 2
add(var1, var2)

命令调用时,注意区别:

var1 = "Hello, world."
MsgBox, var1; 输出为:var1
MsgBox, Hello, world ;输出为:Hello, world
MsgBox, %var1% ;输出为:Hello, world
MsgBox % var1; 输出为:Hello, world

变量的使用规则跟bat脚本有些类似,最主要一点就是%用于变量的解析,冒号赋值的右测表达式、函数调用的入参一定是未被解析的变量,不可加%引用,解析过程在赋值时、函数调用中完成。无冒号的复制则不会对右侧表达中的字符串做解析,所以一定要是原始字符串或解析后的变量。文本字符串与解析过程的关系为:带引号的是未解析的,不带引号的是已解析的。

快捷键定义

常用的控制键定义:
!–ALT
^–Ctrl
+Shift
通过控制键与其他键配合使用可调用可执行程序或通过系统默认程序打开文本、网页等;

你可能感兴趣的:(其他,AutoHotKey,脚本语言,autohotkey)