如何获取未保存的脚本选项卡

Aga*_*ain 19 r rstudio

我想知道,如果有可能在R studio中获得未保存的脚本选项卡.我不小心打开并切换到新项目,然后我未保存的脚本消失了.任何人都可以帮助我获取未保存的脚本选项卡.

Div*_*lam 16

我假设您正在使用Rstudio.通常,它会存储整个工作区,包括未保存的脚本和控制台历史记录,即使您不保存它也是如此.

根据您是否运行文件,您可以执行两项操作来检索这些脚本中的代码.

  • 如果您已在控制台中执行了脚本,则您的代码将出现在保存为.Rhistory文件的控制台历史记录中,该文件存在于R控制台的主目录中.主目录是'Documents'文件夹或之前打开的项目文件夹.
  • 您可以尝试的另一件事是打开在切换到新项目时打开的已保存脚本(如果有).这将打开在切换到新项目之前处于活动状态的工作空间.你的文件应该在那里.

希望这可以帮助.

  • 感谢您的意见。`1)` `.Rhistory` 有一些代码,但看起来很垃圾,找不到文件。`2)` 我之前看到的 `RStudio` 的行为与当前的情况不同。我曾经在打开“RStudio”时获得所有选项卡,但现在情况不同。它只打开我要求“RStudio”打开的那个脚本。 (2认同)
  • 尝试在RStudio中打开.Rhistory文件而不是单词编辑器.记事本或NP ++将无法正确显示文件. (2认同)

Ima*_*man 14

如果您使用的是Windows,请转到以下文件夹:

C:\Users\[your user]\AppData\Local\RStudio-Desktop\sources
Run Code Online (Sandbox Code Playgroud)

文件夹中有所有未保存的标签,特别是那些以s喜欢开头的标签s-******.

有两种文件(例如.D395C3B4D395C3B4-contents)
D395C3B4文件包含有关未保存选项卡的JSON信息,(eg. "tempName" : "Untitled76")并且您的相应代码存在于D395C3B4-contents文件中.用记事本
打开D395C3B4-contents.


Oma*_*sow 9

RStudio 项目起初可能会令人困惑。简单来说,RStudio 项目做了两件事:

  1. 打开一个可以跨不同用户和计算机操作的工作目录(例如,不会setwd()与不同的本地路径发生冲突)
  2. 在 RStudio 中使用 R 文件、数据等创建工作区。

不明显的是,RStudio 中的默认设置是在“项目:(无)”中创建脚本。

因此,如果您之前没有设置任何项目,要恢复丢失的脚本,您需要返回“项目:(无)”,其中包含与任何 RStudio 项目无关的所有开放工作。

为此,请转到 RStudio 窗口的右上角并执行以下操作:

  1. 找到单词 Project 旁边的小下拉菜单。
  2. 单击小三角形以获取项目下拉菜单并选择“关闭项目”。
  3. 新项目关闭后,您的旧选项卡应该会重新出现。下拉菜单现在也应该显示:“项目:(无)”(同样,这假设您没有为之前的工作设置项目)。

  • 你刚刚救了我的命。为什么这个没有出现在谷歌结果的顶部?为什么 RStudio 表现得如此奇怪,期望用户关闭项目以检索临时保存的脚本?生活充满奇迹。 (2认同)

Prr*_*dep 8

如果有人仍在寻找答案或将来看,请阅读以下工作方法


据我所知,没有直接的方法来恢复上一个会话中或Rstudio崩溃之前未保存的脚本选项卡.项目文件夹通常包含隐藏文件夹.Rproj.user和许多子文件夹,source database是其中之一(简称为sdb).在sdb中具有前缀"s-"的子文件夹,您可以找到几乎所有未保存的JSON格式的脚本选项卡.您可以复制并使用它们来获取未保存的脚本选项卡的内容.

例如,我有一个名为的文件BDFFFF92存在于项目位置.Rproj.user/586F3E74/sdb/s-DB8D414F/

# reading the JSON file
dataObj <- jsonlite::fromJSON('.Rproj.user/586F3E74/sdb/s-DB8D414F/BDFFFF92', simplifyVector = T)
Run Code Online (Sandbox Code Playgroud)

未保存脚本中实际内容将出现在contentsJSON对象中.

# Printing the content from the JSON object
writeLines(dataObj$contents)
Run Code Online (Sandbox Code Playgroud)

  • 生活。保护程序。对于所有寻求答案的人,它就在这里。 (3认同)

小智 6

对于那些即使使用.Rhistory也无法恢复脚本的人:

我可以在位于工作驱动器中的"AppData"文件夹中恢复搜索.对于我的情况,它位于"C:\ Users\my_user\AppData\Local\RStudio-Desktop"中.然后有一个名为"history_database"文件,用记事本打开它,我可以看到我以前的所有编码.

如果您在Rstudio中重新打开此文件,则可以将其视为日志历史记录.如果它太大而无法看到所有条目,只需将其复制到记事本中并使用R(Ctrl + O)再次打开它.我不知道为什么我在其他任何地方都没有看到这个替代方案......

我刚刚开始使用R,所以要重新重新排列脚本,我将R中显示的"类似日志的历史记录"复制到Excel中,然后用文本到列分隔固定宽度.这对我有用,没有其他恢复方法.