我想访问RStudio中源代码面板中输入内容的历史记录。
我对学习和输入代码的方式感兴趣。我想分析的三件事是:i)单个人输入代码的方式,ii)不同的人如何键入代码,iii)初学者改进打字的方式。
以这种方式首次尝试抓取命令的历史非常令人满意,但我希望达到更精细的粒度,从而以某种方式访问连续的更改,在单行中。
所以,要明确的是,我既没有寻找history of commands,也没有寻找不同版本的.R
文件之间的差异。
我想要访问的内容实际上是在递归按Ctrl+Z
时可见的源面板的连续更改。我不知道对于我所描述的内容是否有更准确的说法,但我感兴趣的是在源面板中如何添加/移动/删除/纠正/改进代码的位数,但没有必要传递给控制台,因此没有执行命令的历史。
这必须在某个地方/以某种方式由RStudio保存,因为它可以被后者访问。这可能以非常隐藏/私有/内存/进程/ ...的方式保存,我对GUI的工作原理非常模糊。我不知道它是否易于访问,然后进行程序化分析,通常是我们可以从中保存文件。时间戳将是最顶级的樱桃,但我会很高兴没有。
您是否知道如何访问此历史记录?
答案 0 :(得分:4)
RStudio的源面板基本上是Ace编辑器的视图。因此,您需要访问编辑器会话的editSession并使用getDocument或getWordRange以及editSession的undoManager实例的撤消。
我认为你不会在 RStudio中这样做而不会攻击RStudio代码,除非RStudio Addin api在将来通过编辑器事件
编写会话记录器可能更容易,因为进行了更改而不是试图弄乱撤消历史记录。我想你可以使用Ace Editor的事件(即onChange)编写一个调用javascript通过现有RStudio端口进行通信的Addin。