我想知道在R Studio中是否有可能获取未保存的脚本标签页。 我不小心打开并切换到新项目,然后我的未保存的脚本消失了。 有人能帮忙找回我的未保存的脚本标签页吗?
如果您使用的是 Windows 操作系统,请前往以下文件夹:
C:\Users\[your user]\AppData\Local\RStudio-Desktop\sources
< p >< em > 更新: 自 RStudio 1.4.* 版本以后,这些源代码已被移至:C:\Users\[your user]\AppData\Local\RStudio\sources
其余的解释保持不变。
如果您使用的是Ubuntu操作系统:
home/[your user]/.rstudio-desktop/sources
在那里有你所有未保存标签的文件夹,特别是以 s-
开头的文件夹,如 s-******
。
有两种文件(例如 D395C3B4
和 D395C3B4-contents
)
D395C3B4
文件包含有关未保存标签的 JSON 信息 (例如“tempName”:“Untitled76”)
,对应的代码在 D395C3B4-contents
文件中。
使用记事本打开 D395C3B4-contents
文件。
contents
文件打开,以便将它们插回原处!非常感谢 :) - FatihSarigol源数据库
是其中之一(简称为 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)
contents
中。# Printing the content from the JSON object
writeLines(dataObj$contents)
我假设您正在使用Rstudio。 一般来说,即使您没有保存它,它也会将整个工作区,包括未保存的脚本和控制台历史记录,存储为原样。
根据您是否运行了文件,有两件事情可以做来检索这些脚本中的代码。
希望这可以帮助到您。
1)
.Rhistory
中有一些代码,但看起来像垃圾文件,找不到这些文件。2)
我之前看到的 RStudio
的行为与当前情况不同。我曾经在打开 RStudio
时获得所有选项卡,但现在情况不同。它只打开我要求 RStudio
打开的脚本。 - Agaz Wani对于那些即使使用了 .Rhistory 文件也无法恢复脚本的人:
我在工作驱动器的"AppData"文件夹中找到了我的脚本。在我的情况下,它位于"C:\Users\my_user\AppData\Local\RStudio-Desktop"。然后有一个名为"history_database"的文件,如果用记事本打开它,我就可以看到所有以前的编码内容。
如果你在 Rstudio 中重新打开这个文件,你可以像查看日志历史一样来查看它。如果太大而无法查看所有条目,只需将它复制到记事本中,并再次使用 R(Ctrl + O)打开它。我不知道为什么其他地方都没有看到这种方式......
我刚开始学习 R,所以为了重新排列脚本,我将在 R 中显示的“日志历史”复制到 Excel 中,然后通过固定宽度进行文本分列。这是对我起作用的方法,没有其他恢复方法可以做到这一点。
RStudio项目可能一开始会让人感到困惑。简单来说,RStudio项目有两个作用:
setwd()
并且避免与不同本地路径产生冲突)。不太明显的是,在RStudio中的默认设置是在"Project: (None)"中创建脚本。
因此,如果您之前没有设置任何项目,要恢复缺失的脚本,您需要返回到"Project: (None)",其中包含所有与任何RStudio项目无关的开放式工作。
要执行此操作,请转到RStudio窗口的右上角,并执行以下操作:
我遇到了一个问题,就是RStudio没有加载任何脚本,以上的建议都没有帮助。不过,我可以在 C:\Users\[your user]\AppData\Local\RStudio-Desktop\sources
下看到所有的文件。
最后,我删除了 lock_file
和 restart_file
。这之后,当我启动RStudio时,所有的脚本都被加载了。
lock_file
和restart_file
之后,所有未保存的脚本都重新出现了。谢谢! - Tung回显上述想法,使用history_database
查找已通过控制台运行的所有先前代码记录。
对于在Linux服务器上使用RStudio的任何人:我能够在以下位置找到它:~/.local/share/rstudio/history_database
。
希望这能帮助那些丢失了保存的代码并需要将其拼凑起来的人。
你可能想知道的一些事情包括:
C:\Users\[Your-User]\AppData\Local\RStudio-Desktop
目录下,有一个包含所有 RStudio 会话中执行的命令的历史数据库。.Rproj.user
的隐藏文件夹。这个文件夹是 C:\Users\[Your-User]\AppData\Local\RStudio-Desktop
的子集。区别在于它只针对一个特定的会话,而前者适用于所有会话。
如果你进入 sources
文件夹,你会注意到以下类似的更多文件夹:
文件名XXXXXXXXX
是有关相关未保存/已保存脚本的元数据,而XXXXXXXX-contents
包含未保存/已保存脚本的代码。
如果您打开元数据,将会在properties
下找到一个名为tempName
的标签,其中包含文件的未命名名称。
.Rhistory
。这个文件记录了在终端上执行的所有命令的历史记录。请注意,即使你从R脚本中执行命令,它也只能从终端运行。因此,你也可以复制最近执行的命令来恢复整个脚本。希望你能找到你要找的东西。
继续编码吧!
.Rproject
文件或查找历史记录文件,可以将操作系统恢复到特定日期,然后打开它。在Rstudio中打开.Rhistory
文件。 - user5249203全局选项/首选项 > 通用
是否有一个复选框,旁边写着“恢复先前打开的源文件”? - rawr