
eSearch 设置完全指南JSON 源文件、自定义配置目录与便携版方案【免费下载链接】eSearch截屏 离线OCR 搜索翻译 以图搜图 贴图 录屏 万向滚动截屏 屏幕翻译 Screenshot Offline OCR Search Translate Search for picture Paste the picture on the screen Screen recorder Omnidirectional scrolling screenshot Screen translator 支持Windows Linux macOS项目地址: https://gitcode.com/GitHub_Trending/es/eSearch本篇指南以 eSearch 的「设置」为核心讲解其基于 JSON 的设置源文件机制、三平台默认配置目录与自定义配置目录方案并延伸到底层实现config.json的读写、preload_config的加载优先级与便携版绿色版的落地方法。读完你将掌握如何安全地手工编辑设置、如何让配置脱离系统目录随身携带以及出现问题时如何定位和恢复默认设置。设置界面与操作历史可撤销的修改体验eSearch 的设置窗口并非传统的保存后立刻生效模式。在设置界面中更改任何选项后窗口左下角会显示本次的操作历史对应设置源码中的设置记忆机制见 src/renderer/setting/setting.ts 顶部settingMemKey 设置记忆的相关实现。如果你误触了某个选项或者想放弃本次设置修改可以通过点击操作历史列表中的项目进行撤销已修改的设置项在列表中会带有已修改右键撤销的标识源码中通过editedItem样式类标记见 setting.ts撤销入口位于设置界面的操作历史区域见 setting.ts 附近的撤销修改按钮实现。这意味着你可以放心地在设置界面中反复试探各种选项不满意随时回退不必担心破坏已有配置。源文件配置直接编辑 JSON 设置设置界面只是可视化入口eSearch 的配置本体是一个 JSON 文件。你可以在设置窗口中找到设置源文件_setting_file项按钮点击后直接打开该文件进行编辑见 setting.ts。JSON 语法注意事项JSON 是一种严格格式化的文本格式编辑时务必注意英文符号冒号、逗号、花括号、方括号必须是半角英文符号不能用中文全角符号双引号所有键名和字符串值必须使用英文双引号不能使用单引号逗号对象或数组的最后一个元素后面不能有尾随逗号。强烈建议使用 VSCode 等带语法检查、自动补全功能的编辑器来编辑配置文件可以显著降低出错概率。如果配置文件格式错误程序会恢复默认设置——从源码看这一兜底逻辑在 lib/store/store.ts 的getStore()中通过safeJSONParsedata(str, {})实现解析失败时回退为{}配合默认值合并逻辑保证程序仍能正常运行见下文底层原理。配置文件的存储位置配置文件名为config.json存放于**用户数据目录userData**下。默认情况下该目录由 Electron 的appData决定不同平台路径不同平台默认配置目录userData配置文件完整路径Windows%AppData%/eSearch%AppData%\eSearch\config.jsonmacOS~/Library/Application Support/eSearch~/Library/Application Support/eSearch/config.jsonLinux~/.config/eSearch~/.config/eSearch/config.json该路径由主进程在启动时计算见 src/main/main.tsconst store new Store({ configPath: join(app.getPath(userData), config.json), });在设置窗口的位置信息_location项面板中你可以直接查看并打开配置目录、文字记录history.json、临时目录与运行目录见 setting.ts。底层原理配置的读取、合并与写入配置读写由 lib/store/store.ts 中的Store类完成核心机制如下读取getStore()读取config.json文本用safeJSONParse解析若文件不存在或格式错误则回退为空对象默认值合并get()在用户值不存在时回退到defaultData即内置默认设置getAll()通过deepMerge将用户配置与默认值递归合并保证界面永远能拿到完整的配置结构写入set()修改后用JSON.stringify(data, null, 2)以 2 空格缩进写回文件setStore()同步落盘点路径访问配置采用分栏.分组.选项形式的点路径键例如工具栏.按钮大小、语言.语言由 lib/store/parse.ts 的xget/xset负责在嵌套对象中读写。手工编辑源文件时保持这种嵌套结构即可。设置窗口还提供了恢复默认设置_default_setting项一键将所有设置项恢复为内置默认值或仅显示更改的设置列出与默认值不同的项方便你排查哪些配置被改动过见 setting.ts。自定义配置目录把配置放到你指定的位置默认情况下配置跟随系统用户目录但 eSearch 允许你完全自定义配置目录。这个选项比较特殊——它是配置的配置其值不会存进config.json自身而是由设置界面生成一个名为preload_config的文件保存在运行目录即程序安装/解压目录下见 src/main/main.tspreloadConfig readFileSync(join(runPath, preload_config)).toString().trim(); if (preloadConfig.startsWith(.)) preloadConfig join(runPath, preloadConfig); const userDataPath minimist(process.argv.slice(1)).userData || preloadConfig || (statSync(join(runPath, portable)).isDirectory() ? join(runPath, portable) : ); if (userDataPath) app.setPath(userData, userDataPath);由这段代码可以整理出配置目录的完整优先级从高到低启动命令行参数--userData开发者/高级用途preload_config文件内容设置界面生成的自定义配置目录运行目录下的portable文件夹便携版机制见下文系统默认的appData目录。相对路径与绝对路径自定义配置目录同时支持相对路径和绝对路径绝对路径如/data/my-eSearch-config、D:\eSearchData直接写入preload_config相对路径如./config会基于运行目录解析——这正是便携版绿色版的核心基础。从源码看以.开头的路径会被join(runPath, preloadConfig)拼接到运行目录下。将配置放在运行目录意味着整个软件文件夹程序 配置可以整体复制到 U 盘或任意位置插到哪台电脑就用哪套配置即便携。便携版绿色版让配置跟随程序走如果你想要便携版/绿色版即配置保存在程序所在文件夹而非系统目录可以参考 软件主体文档 的完整说明。简单归纳有两种方式方式一使用自定义配置目录下载对应平台的压缩包版本解压即可运行然后在设置中把自定义配置目录设置为相对路径例如./config。此时config.json等数据都会落在运行目录下的config文件夹中整个目录即可整体迁移。方式二一键转为便携版设置窗口的位置信息面板中提供了改为便携版按钮见 setting.ts其背后逻辑是在运行目录下创建portable文件夹调用move_user_data将现有用户数据迁移到该文件夹重启软件主进程检测到运行目录下存在portable目录后自动将其作为userData路径。此后无需任何额外配置程序自动使用portable目录作为配置目录。注意自定义配置目录preload_config的优先级更高——如果两者同时存在以preload_config指定的路径为准。便携版能带走什么迁入配置目录的不仅包括config.json还包含文字记录history.json搜索/翻译历史见 setting.ts 中初始化{ 历史记录: {} }的逻辑浏览器缓存、Cookie 等存储数据可在设置的清除数据面板中单独清理见_clear_browswer项其他随 userData 存放的运行时数据。需要注意临时目录默认仍在系统os.tmpdir()下的eSearch文件夹见 setting.ts并不随配置目录迁移。实战建议与故障排查围绕以上机制整理几条可操作的实战经验改动源文件前先备份config.json是唯一的用户配置建议手工编辑前先复制一份。格式错误虽会回退默认设置不会崩溃但你的自定义项会丢失善用操作历史撤销界面改动可用左下角操作历史逐条撤销若想整体回到出厂状态使用恢复默认设置按钮便携化的最佳实践优先使用设置中的改为便携版按钮——它会自动完成目录创建与数据迁移比手工写preload_config更稳妥排查配置目录归属在位置信息面板查看配置目录实际路径可以立即确认当前生效的是默认目录、preload_config还是portable多设备同步使用相对路径自定义配置目录后整个程序目录可放入网盘或 U 盘实现多设备同步但请留意不同平台间路径写法差异Windows 用反斜杠macOS/Linux 用正斜杠。通过理解设置源文件 → config.json → userData 路径解析这条链路你既能享受可视化设置的便利也能在需要时以 JSON 直接精细控制每一项配置甚至把整套 eSearch 变成随身携带的绿色工具。【免费下载链接】eSearch截屏 离线OCR 搜索翻译 以图搜图 贴图 录屏 万向滚动截屏 屏幕翻译 Screenshot Offline OCR Search Translate Search for picture Paste the picture on the screen Screen recorder Omnidirectional scrolling screenshot Screen translator 支持Windows Linux macOS项目地址: https://gitcode.com/GitHub_Trending/es/eSearch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考