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

fdbelqdn  于 2023-06-19  发布在  其他
关注(0)|答案(8)|浏览(298)

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

dnph8jn4

dnph8jn41#

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

C:\Users\[your user]\AppData\Local\RStudio-Desktop\sources
  • update:* since RStudio 1.4. * 这些源代码已移动到:
C:\Users\[your user]\AppData\Local\RStudio\sources

其余的解释保持不变。
如果你在UBUNTU:

home/[your user]/.rstudio-desktop/sources

其中有所有未保存的标签在文件夹中,特别是那些以s开头的标签,如s-******
有两种类型的文件(例如。D395C3B4D395C3B4-contents
D395C3B4文件包含关于未保存的标签(eg. "tempName" : "Untitled76")的JSON信息,相应的代码在D395C3B4-contents文件中。
用记事本打开D395C3B4-contents

nszi6y05

nszi6y052#

  • 如果有人仍在寻找答案或将来会寻找,请阅读下面的工作方法 *

据我所知,没有直接的方法来恢复上次会话中或Rstudio崩溃之前未保存的脚本选项卡。项目文件夹通常包含隐藏文件夹**.Rproj.user**,该文件夹有许多子文件夹,source database就是其中之一(简称为sdb)。在子文件夹within sdb having the prefix "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)

actual content in the unsaved scripts将出现在JSON对象的contents中。

# Printing the content from the JSON object
writeLines(dataObj$contents)
afdcj2ne

afdcj2ne3#

我想你正在使用Rstudio。通常,它存储整个工作区,包括未保存的脚本和控制台历史记录,即使你不保存它。
根据您是否运行了这些文件,您可以执行两项操作来检索这些脚本中的代码。

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

希望这能帮上忙。

qni6mghb

qni6mghb4#

对于那些即使使用.Rhistory也无法恢复脚本的人:
我可以恢复我的搜索在**“AppData”文件夹**,位于您的工作驱动器。在我的例子中,它位于“C:\Users\my_user\AppData\Local\RStudio-Desktop”。然后有一个名为“history_database”的文件,用记事本打开它,我可以看到我以前所有的编码**。
如果在Rstudio中重新打开此文件,您可以看到它就像一个日志历史。如果它太大而无法看到所有条目,只需将其复制到记事本,然后使用R(Ctrl + O)再次打开它。我不知道为什么我在其他地方没有看到这种选择。
我刚刚开始使用R,所以为了重新排列脚本,我将R中显示的“日志式历史”复制到Excel中,然后用固定宽度的文本到列将它们分开。这就是我的工作,没有其他的恢复方法。

jljoyd4f

jljoyd4f5#

RStudio项目一开始可能会令人困惑。简单来说,RStudio项目做了两件事:
1.打开一个可以跨不同用户和计算机操作的工作目录(例如,no以setwd()开始,并与不同的本地路径产生冲突)
1.在RStudio中创建包含R文件、数据等的工作区。
不明显的是,RStudio中的默认设置是在“Project:(无)"。
因此,如果您以前没有设置任何项目,要恢复丢失的脚本,您需要返回到“项目:(None)”,其中包含与任何RStudio项目无关的所有打开的工作。
要执行此操作,请转到RStudio窗口的右上角并执行以下操作:
1.找到单词Project旁边的小下拉菜单。
1.点击小三角得到项目下拉菜单,然后选择“关闭项目”。
1.新项目关闭后,旧的选项卡应该会重新出现。下拉菜单现在还应该显示:“Project:(None)”(同样,这假设您没有为之前的工作设置项目)。

t1qtbnec

t1qtbnec6#

我遇到了一种情况,RStudio没有加载任何脚本,上面的建议都没有帮助,但是,我可以看到C:\Users\[your user]\AppData\Local\RStudio-Desktop\sources下的所有文件。
帮助我的是删除lock_filerestart_file。在此之后,当我启动RStudio时,所有脚本都已加载。

7xllpg7q

7xllpg7q7#

重复上面关于history_database的想法,以查找通过控制台运行的所有先前代码的记录。
对于在基于Linux的服务器上使用RStudio的任何人:我在下面的位置找到了这个~/.local/share/rstudio/history_database
希望这能帮助任何丢失保存代码并需要将其拼凑起来的人。

kninwzqo

kninwzqo8#

你可能想知道的一些事情是:
1.在C:\Users\[Your-User]\AppData\Local\RStudio-Desktop中,有一个history_database,其中包含在所有RStudio会话中执行的所有命令
1.对于每个会话,在工作目录中,您会注意到有一个名为.Rproj.user的隐藏文件夹。

  • 在此文件夹中,有一个共享文件夹和另一个生成了密钥的文件夹。

  • 此文件夹是C:\Users\[Your-User]\AppData\Local\RStudio-Desktop的子集。不同之处在于,它是针对一个特定会话的,而第一个是针对所有会话的。

  • 如果你转到sources文件夹,你会注意到更多的文件夹如下所示:

  • 您要查找的文件夹可能在以下文件夹中

  • 文件名XXXXXXXXX是有关未保存/已保存脚本的元数据,而XXXXXXXX-contents包含未保存/已保存脚本的代码。
  • 如果打开元数据,在properties下有一个名为tempName的标记,其中包含文件的无标题名称。

  • 这样您就可以检索正在查找的未保存脚本

1.您的工作目录中还有另一个文件,即.Rhistory。这个文件保存了所有在终端上执行的命令的历史记录。请注意,即使您从R脚本执行命令,它也只能从终端运行。因此,您还可以复制最近执行的命令以获取整个脚本。
我希望你能找到你想要的东西。
继续编码!

相关问题