启动时,RStudio失去了焦点

时间:2015-06-23 01:28:44

标签: rstudio

当我在Windows上启动RStudio时,它失去了焦点。在我可以向控制台或脚本窗口输入任何内容之前,我必须单击它。我知道Ctrl-1专注于脚本窗口,Ctrl-2专注于控制台窗口;但是,只要我先点击RStudio,这两个快捷方式都可以正常工作。

我需要在RStudio中设置什么吗?

软件环境:

RStudio Version 0.99.446
Windows 7 Ultimate 64-bit

1 个答案:

答案 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脚本。