从 Matlab 编辑器中恢复更长的最近文件列表

Recover a longer list of recent files from the Matlab editor

我丢失了最近使用 Matlab 编辑器编写的 .m 文件的位置。我不记得我是如何命名它的,所以通常的查找器搜索没有帮助。

Matlab 编辑器允许我打开 'recent files' 但只有少数最新的。有没有办法恢复更长的最近打开文件列表?

该信息似乎存储在 Matlab preference folder. That folder is given by the function prefdir 中。 具体来说,文件 'matlab.prf' 似乎包含最近文件的列表。要打开该文件并手动检查它,您可以使用

open(fullfile(prefdir, 'matlab.prf'))

最近的文件信息似乎包含在以 EditorMRU 开头的行中。我在 R2010b 和 R2014b 中观察到这一点。其他 Matlab 版本可能表现不同。

您还可以使用 importdata

以编程方式读取该文件
x = importdata(fullfile(prefdir, 'matlab.prf')); %// R2010b or R2014b
x = x.textdata; %// include this line if using R2014b; not if using 2010b

这会给出 x 作为字符串元胞数组,其中每个字符串都是该文件的一行。然后查找包含子字符串 'EditorMRU':

的行
y = x(~cellfun(@isempty, strfind(x, 'EditorMRU')));

不过我不知道存储了多少个最近的文件名。