首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RStudio在启动时失去焦点

RStudio在启动时失去焦点
EN

Stack Overflow用户
提问于 2015-06-23 09:28:44
回答 1查看 70关注 0票数 2

当我在Windows上启动RStudio时,它失去了焦点。我必须先点击它,然后才能在控制台或脚本窗口中输入任何内容。我知道Ctrl-1专注于Script窗口,Ctrl-2专注于控制台窗口;但是,只要我首先单击RStudio,这两个快捷键都会起作用。

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

软件环境:

代码语言:javascript
复制
RStudio Version 0.99.446
Windows 7 Ultimate 64-bit
EN

回答 1

Stack Overflow用户

发布于 2016-06-16 11:20:38

您可以编写一个VBScript,它首先打开RStudio,然后将焦点切换到它:

代码语言:javascript
复制
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脚本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30992433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档