You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Autokey开发问题:如何修改engine.create_phrase生成短语的缩写属性及调试脚本?

修改Autokey短语对象的缩写属性(backspace/ignoreCase等)

核心解决方法

engine.create_phrase()返回的是Phrase类实例,直接访问其内部的abbreviation嵌套对象,就能修改backspace、ignoreCase这类缩写配置属性——Autokey的所有缩写规则都存在这个子对象里。

具体代码示例

# 沿用原示例脚本的基础逻辑:获取选中文本、输入缩写
selected_text = clipboard.get_selection()
if not selected_text:
    dialog.info_dialog("Error", "No text selected!")
    exit()

abbreviation = dialog.input_dialog("Create Abbreviation", "Enter the abbreviation trigger:")
if not abbreviation:
    exit()

# 创建短语并获取实例
new_phrase = engine.create_phrase(abbreviation, selected_text)

# 修改缩写的关键属性
# 设置是否删除触发的缩写文本
new_phrase.abbreviation.backspace = False
# 设置匹配缩写时忽略大小写
new_phrase.abbreviation.ignore_case = True
# 设置触发短语的结束字符(比如空格、回车)
new_phrase.abbreviation.trigger_characters = [" ", "\n"]
# 设置输入缩写后立即触发(无需等待结束字符)
new_phrase.abbreviation.immediate = True
# 确保缩写处于启用状态
new_phrase.abbreviation.enabled = True

# 保存短语到默认目录,让Autokey加载生效
engine.save_phrase(new_phrase)

关于get_description()无效的说明

get_description()仅用于返回短语的用户备注信息,和缩写配置完全无关。要查看短语对象的可操作属性,可以用dir()函数结合弹窗打印:

# 打印短语对象的所有属性
props = dir(new_phrase)
dialog.info_dialog("Phrase Properties", "\n".join(props))

# 打印缩写子对象的所有属性
abbrev_props = dir(new_phrase.abbreviation)
dialog.info_dialog("Abbreviation Properties", "\n".join(abbrev_props))

这是Autokey脚本无调试环境时,快速查看对象结构的实用技巧。

内容的提问来源于stack exchange,提问作者stib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 15:36:09