我写了一个简单的序列来输出,当在某处输入字符串时mdcode
,一个Markdown代码块模板,例如
```python
```
创建上述代码大多数时候都可以工作:
::mdcode::
{
; query user for the language of the code block
Lang := InputBox(, "input MD code language")
; send the code block structure
Send "{U+0060}{U+0060}{U+0060}" . Lang.Value . "`n`n`n{U+0060}{U+0060}{U+0060}{Up}"
}
有时(这很难重现),在代码执行过程中,一些字母mdcode
不会被删除,最终导致mdcode
没有完全删除
mdc```python
```
(剩余字母的数量各不相同,可以是一个,也可以是三个,......)
我猜想存在某种时间问题,即在替换mdcode
完成之前就开始构建代码块。这可以修复吗?
答案1
这是因为 InputBox GUISleep 100
在后添加了行,所以输入窗口将有时间将焦点切换回自身。