当我在Windows上启动RStudio时,它失去了焦点。我必须先点击它,然后才能在控制台或脚本窗口中输入任何内容。我知道Ctrl-1专注于Script窗口,Ctrl-2专注于控制台窗口;但是,只要我首先单击RStudio,这两个快捷键都会起作用。
我需要在RStudio中设置什么吗?
软件环境:
RStudio Version 0.99.446
Windows 7 Ultimate 64-bit发布于 2016-06-16 11:20:38
您可以编写一个VBScript,它首先打开RStudio,然后将焦点切换到它:
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准备好之前完成执行。在上面的循环中,它反复尝试在超时之前获取焦点。自从我把它放入循环,它已经有100%的成功率打开RStudio与适当的焦点。在我删除的一些调试代码中,变量i在连续10次尝试中从未超过3。
显然,您可能需要更改路径名称,并调整时间。
在我上面的评论中,我说过关于RStudio如何处理焦点的某些事情给我的印象是违反直觉的。从那时起,我发现了RStudio的选项,可以将焦点自动切换到控制台上的采购。缺省情况下没有这样做是我的想法。这个问题中的问题是我唯一剩下的焦点问题。我现在已经有点习惯了,所以我不确定我是否真的会使用这个VBS脚本。
https://stackoverflow.com/questions/30992433
复制相似问题