当我在Windows上启动RStudio时,它失去了焦点。在我可以向控制台或脚本窗口输入任何内容之前,我必须单击它。我知道Ctrl-1
专注于脚本窗口,Ctrl-2
专注于控制台窗口;但是,只要我先点击RStudio,这两个快捷方式都可以正常工作。
我需要在RStudio中设置什么吗?
软件环境:
RStudio Version 0.99.446
Windows 7 Ultimate 64-bit
答案 0 :(得分:0)
作为一个kludge,你可以编写一个首先打开RStudio的VBScript,然后将焦点切换到它:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.CurrentDirectory = "C:\Program Files\RStudio"
WshShell.Run """C:\Program Files\RStudio\bin\rstudio.exe"""
WScript.Sleep 200 'milliseconds
focused = WshShell.AppActivate("RStudio")
i = 1
Do While Not focused And i < 10
WScript.Sleep 100
focused = WshShell.AppActivate("RStudio")
i = i + 1
Loop
将其保存到名称为ToRStudio.vbs
的文件中的桌面。然后,当您单击该图标时,它会打开Rstudio,然后尝试重复切换焦点到RStudio窗口。在我原始版本的代码中,我在发出一次AppActivate
调用之前依赖固定的时间延迟。但是,我发现当我从上次会话中保存的工作空间很大时,我的VBScript将在RStudio准备好之前完成执行。通过上述循环,它会在超时之前反复尝试抓住焦点。自从我进入循环之后,它以正确的焦点打开RStudio的成功率达到了100%。在我删除的一些调试代码中,变量i
在连续10次尝试中从未超过3。
显然,您可能需要更改路径名称,并调整时间。
在上面的评论中,我说有关RStudio如何处理焦点的某些事情让我感到违反直觉。从那时起,我发现了RStudio的选项,可以在采购时自动将焦点切换到控制台。默认情况下缺少这样做是我的想法。这个问题中的问题是我唯一的焦点问题。我现在已经习惯了,所以我不确定我是否真的会使用这个VBS脚本。