我目前正在尝试运行一个 TeXStudio 脚本,该脚本调用一个 Powershell 脚本,该脚本将剪贴板的内容输出到 TeXStudio 的消息部分。这是我在 TeXStudio 的宏中的脚本,它运行一个 Powershell 脚本:
// TexStudio Script
cmd = system("cmd /C powershell.exe -File 'C:\\Users\\Dir1\\Dir2\\Dir3\\Dir4\\\jsclipboardtest.ps1'")
cmd.waitForFinished();
以下是文件中的代码jsclipboardtest.ps1
:
# Powershell Script
$content = Get-Clipboard
Write-Host $content
因此,通过在 TeXStudio 的编辑器中输入内容即可触发 TeXStudio 脚本//t
,该脚本运行 Powershell 脚本,该脚本获取剪贴板中的内容并将其输出到 TeXStudio 的消息部分。消息部分在这里:
现在,TeXStudio 脚本的触发器正在输入//t
。此脚本执行非常任何文本都很快。但是,如果我要复制任何文本从 TeXStudio 编辑器的代码中,假设我\begin{enumerate}
从 TeXStudio 编辑器中复制甚至一个空格字符,然后使用 触发脚本//t
,我的 TeXStudio 会冻结,然后显示“无响应”,一段时间后 TeXStudio 会解冻并开始响应。消息部分输出我复制的内容。
\begin{enumerate}
示例:这是我复制并触发时发生的情况//t
:
留言部分说道:
Process started: cmd /C powershell.exe -File 'C:\\Users\\Dir1\\Dir2\\Dir3\\Dir4\\\jsclipboardtest.ps1'
TeXStudio 冻结,然后 TeXStudio 显示“无响应”:
消息输出我复制的内容:
我的疑问
- 关于文本来自 TeXStudio 的编辑器,这会导致脚本(TeXstudio 脚本和 powershell 或两者之一)冻结并花费大量时间来提供剪贴板输出?也许是 TeXStudio 使用的文本编码(我使用的默认 UTF-8)和 powershell 使用的编码?
- 这个问题有解决办法吗?
笔记:
- 我尝试将 TeXStudio 编辑器文本复制到剪贴板,并在终端/命令行中单独运行 powershell 脚本。输出是即时的,所以我相信问题可能在于 powershell 如何解释剪贴板中的内容?
- TeXstudio 脚本代码是 JavaScript