跳转到主要内容

最近使用的文档

概述

Windows 和 macOS 分别通过 JumpList 或 dock 菜单提供对应用程序打开的最近文档列表的访问。

JumpList

JumpList Recent Files

应用程序 dock 菜单

macOS Dock Menu

示例

管理最近使用的文档

const { app, BrowserWindow } = require('electron/main')
const fs = require('node:fs')
const path = require('node:path')

function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600
})

win.loadFile('index.html')
}

const fileName = 'recently-used.md'
fs.writeFile(fileName, 'Lorem Ipsum', () => {
app.addRecentDocument(path.join(__dirname, fileName))
})

app.whenReady().then(createWindow)

app.on('window-all-closed', () => {
app.clearRecentDocuments()
if (process.platform !== 'darwin') {
app.quit()
}
})

app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})

添加最近使用的文档

要将文件添加到最近使用的文档,请使用 app.addRecentDocument API。

启动 Electron 应用程序后,右键单击应用程序图标。在本指南中,该项是位于项目根目录的 Markdown 文件。您应该看到 recently-used.md 已添加到最近使用的文件列表中

Recent document

清除最近使用的文档列表

要清除最近使用的文档列表,请使用 app.clearRecentDocuments API。在本指南中,一旦所有窗口关闭,文档列表将被清除。

附加信息

Windows 说明

要在 Windows 上使用此功能,您的应用程序必须注册为文档文件类型的处理程序,否则即使您已添加该文件,该文件也不会出现在 JumpList 中。您可以在应用程序注册中找到有关注册应用程序的所有信息。

当用户单击 JumpList 中的文件时,将启动您应用程序的新实例,并将文件的路径作为命令行参数添加。

macOS 说明

将最近使用的文档列表添加到应用程序菜单

您可以通过将以下代码片段添加到您的菜单模板来添加菜单项以访问和清除最近使用的文档

{
"submenu":[
{
"label":"Open Recent",
"role":"recentdocuments",
"submenu":[
{
"label":"Clear Recent",
"role":"clearrecentdocuments"
}
]
}
]
}

请确保在 'ready' 事件之后而不是之前添加应用程序菜单,否则菜单项将被禁用

const { app, Menu } = require('electron')

const template = [
// Menu template here
]
const menu = Menu.buildFromTemplate(template)

app.whenReady().then(() => {
Menu.setApplicationMenu(menu)
})

macOS Recent Documents menu item

当从最近使用的文档菜单请求文件时,将为其发出 app 模块的 open-file 事件。