暂时停止R记录历史记录

时间:2019-04-19 18:50:45

标签: r rstudio

一般来说,保存我的R历史记录非常有用。我每周或更多次提到它。控制台中的探索性工作逐渐完善并添加到文件中。

有时,命令中会包含一个秘密,例如API密钥或搜索带有机密信息的数据框,在这种情况下,我希望能够禁用仅为该命令保存的历史记录,并在之后立即重新启用它。尽可能类似于bash的ignorespace选项。

对于在R或RStudio中都可以使用的解决方案,我会感到非常高兴,两者都会更好。我知道可以通过转到Tools > Options > General > Always save history来手动禁用历史记录,但是我正在寻找一个命令(或键盘快捷键),以便可以快速打开或关闭它。

编辑:我以为可能有用但似乎无济于事的事情是将“ R_HISTFILE”设置为FALSE或不存在的文件。至少没有帮助RStudio历史。我对它实际执行的检查还不够彻底。

1 个答案:

答案 0 :(得分:1)

正如我在评论中所述,有一些方法可以避免将API密钥存储在历史记录文件中。由于该评论似乎已经收集了一些反对意见,因此值得在答案中进行扩展。

  

有时,命令中会包含一个秘密,例如API密钥或搜索带有机密信息的数据框,在这种情况下,我希望能够禁用仅为该命令保存的历史记录,并在之后立即重新启用它

我认为,现在只能使用当前版本的RStudio找到“ API密钥问题”的提示,请参见以下段落中的注释:“关于机密信息:”

但是,在等待灵魂沉思的同时,您可能会对此页面感兴趣:https://cran.r-project.org/web/packages/httr/vignettes/secrets.html

避免存储API密钥比我认为的data.frame的机密信息容易。

关于机密信息:

引入更多,但“干净”: 我认为有必要将其作为功能强大的rstudioapi软件包的功能要求添加或在此处添加:

介绍快,但很脏: -一个肮脏的变通办法是引入一个插件来删除历史文件中的最后一个插入内容。

信息存储

此处描述了存储设置的位置:https://support.rstudio.com/hc/en-us/articles/200534577-Resetting-RStudio-Desktop-s-State

您可以导航到Rstudio-desktop文件夹。例如。在Windows上,在资源管理器中输入:%localappdata%\ RStudio-Desktop。

要查找的全局选项可以在这里找到:.. \ monitored \ user-settings \ user-settings。

Rstudio-工具-全局选项-常规中的标志“始终保存历史,...”是.. \ monitored \ user-settings \ user-settings中的第一个值。

不幸的是,RStudio不会监听该文件中的更改,因此您必须重新启动RStudio才能使更改可见。因此,暂时不能选择暂时停止Rstudio记录历史记录。

关于API密钥,让我总结一下该页面的几种方法:

  • 添加“弹出窗口”以询问密码:rstudioapi :: askForPassword()
  • 使用环境变量。您避免了弹出窗口,但我认为它只是将机密信息的日志记录从“历史记录”移到了envar。
  • 最后看到keyring软件包,用于将数据存储在操作系统的秘密存储区中。