Dash:macOS 开发者必备的离线 API 文档浏览器与代码片段管理器 #

Dash 是什么? #

Dash 是一款由 Kapeli 开发的 API 文档浏览器(API Documentation Browser)与代码片段管理器(Code Snippet Manager),主要面向使用 macOS 的程序员与开发团队。它把 200 多个 API 文档集、100 多份速查表(Cheat Sheets)全部下载到本地,让你在不打开浏览器、不等待网页加载的情况下,用模糊搜索在毫秒级定位到某个类、方法、函数或参数说明。

对于经常需要在 Xcode、VS Code、JetBrains 全家桶、Vim、Sublime Text 之间来回切换的开发者来说,Dash 解决了两个高频痛点:一是查文档必须联网、必须开一堆浏览器标签页;二是常用代码模板需要反复手敲。Dash 通过全局快捷键、dash:// URL 协议、编辑器集成插件和系统级文本扩展,把「查文档」和「写模板代码」这两件事压缩到一次按键之内。百度百科式的概括是:它更像一个离线的、可搜索的、可自定义的开发者知识库 + 片段引擎。

Dash 有哪些亮点特色? #

  • 200+ 离线文档集开箱即用:官方内置 iOS、macOS、watchOS、tvOS、Swift、Python、JavaScript、React、Vue.js、Node.js、Go、Rust、Java SE/EE、Docker、Kubernetes 生态相关(如 Ansible)、MySQL、PostgreSQL、MongoDB、Redis、Laravel、Django 等主流语言与框架的文档集,下载后完全离线可查,文档集由 Dash 自动保持更新。同时提供 100+ 速查表,覆盖 Vim、Emacs、Bash、Git 等高频工具。

  • 即时模糊搜索(Fuzzy Search):在主搜索框输入任意关键词片段即可实时匹配条目,无需记住完整 API 名称。每个文档集都配有可编辑的关键词,例如输入 php:printf 就只会在 PHP 文档集中检索 printf,避免跨技术栈的结果污染。

  • 搜索配置文件(Search Profiles):可以按项目或技术栈把文档集分组,例如建立「macOS」和「Web」两套配置,并设定触发方式——输入搜索关键词触发、切换到某个 App 时自动激活,或按下全局快捷键唤起。配置会在 Dash 多次启动和搜索之间保持。

  • 跨编辑器与系统的深度集成:官方提供 Xcode、Alfred、Raycast、LaunchBar、Quicksilver、PopClip、Nova、Espresso、Emacs、Vim、Neovim、BBEdit、TextMate、Sublime Text、Atom、Brackets、Eclipse、Android Studio、Visual Studio Code、AppCode、IntelliJ IDEA、RubyMine、WebStorm、PhpStorm、PyCharm、CLion、DataGrip、GoLand、Rider、Terminal、AppleScript 等数十种集成插件,几乎所有插件底层都基于 dash:// URL 协议,可以精确指定只搜索某个文档集。

  • 强大的代码片段管理(Snippets):保存常用代码模板与样板文本,输入一个短缩写即可在任意 App 中即时展开。支持 __var__ 形式的变量占位符(可设默认值、可自动调整首字母大小写)、@clipboard(插入剪贴板内容)、@cursor(展开后定位光标)、@date / @time(插入当前日期时间)等特殊占位符,并提供 150+ 语言的语法高亮和基于标签的组织方式。

  • 自定义文档集生成器(Docset Generator):内置工具可以直接抓取网站或索引本地 HTML 文件,生成完全可搜索的离线文档集,非常适合内部文档、开源项目文档或任何你想在 Dash 中检索的资料。官方还提供了完整的 Docset Generation Guide,支持 Swift DocC、Python/Sphinx、Javadoc、RDoc/Yard、Scaladoc、GoDoc、HexDoc、DartDoc、Haddock、Rust Cargo、JSDoc、Doxygen 以及任意 HTML 文档的转换。

  • AI 集成(MCP 支持):Dash 支持 Model Context Protocol(MCP),可以与 Claude、ChatGPT 等 AI 助手对接,让 AI 工具直接获取最新框架和软件包的文档内容,减少模型因训练数据滞后而产生的错误回答。

  • 丰富的第三方文档源与扩展能力:Dash 与主流包管理器打通,可自动为 Swift Packages(swiftpackageindex.com)、Ruby Gems(rubygems.org)、Python 包(任意 Sphinx 文档)、PHP 包(packagist.org)、Java/Scala 包(maven.org)、Go 包(pkg.go.dev)、Rust Crates(docs.rs)、Dart 包(pub.dev)、Haskell 包(hackage.haskell.org)、Hex 包(hexdocs.pm)、Clojure 库(cljdoc.org)生成文档集;此外还接入了 GitHub、Stack Overflow、官方速查表站 cheat.kapeli.com 与用户贡献站 contrib.kapeli.com。

  • 细节体验到位:支持当前页面可过滤目录(用 ALT+上/下方向键快速跳转)、文档书签、全文搜索、文档集 playground、快捷键自定义、标签页恢复、隐藏 Dock 图标与菜单栏图标、深色模式等。

Dash 官网首页截图

免费下载 Dash #

以下为官方提供的安装包,点击链接即可下载。请注意:Dash 为商业软件,官方提供下载试用,但完整使用需要购买授权。

文件名 描述 大小 下载
Dash.zip Dash for macOS 安装包 22.3 MB 夸克网盘

官方站点同时提供 Dash for Windows 版本,可在官网首页导航中切换查看。

Dash 如何使用? #

  1. 首次启动与基础设置:安装后打开 Dash,点击菜单栏图标或使用全局快捷键唤起主搜索框。进入 Settings > General 可以设置全局搜索快捷键(类似 Spotlight 的用法),以及「用选中文本直接搜索」的快捷键。

  2. 下载你需要的文档集:打开 Settings > Downloads,在文档集列表中勾选需要的语言或框架(如 Swift、Python、React、Docker 等),Dash 会自动下载并持续保持更新。也可以在 Settings > Docsets 中拖动排序、启用/禁用或删除已安装的文档集。

  3. 搜索文档:在主搜索框输入关键词,Dash 会实时给出模糊匹配结果;按下方向键选择条目,回车即可在 Dash 内打开对应文档页面。如果只想搜索某个技术栈,使用文档集关键词,例如 php:printf、py:requests;也可以先用搜索配置文件限定一组文档集。

  4. 从其他 App 调用 Dash:Dash 注册了 dash:// 自定义 URL 协议,格式为 dash://?query={query},例如 dash://string;也可以带上关键词 dash://?query=php:printf。在 Settings > Integration 中安装对应编辑器的插件后,直接在 IDE 里按快捷键就能弹出相关文档。

  5. 配置代码片段:进入 Settings > Snippets 启用片段功能,新建片段并填写「缩写」和「正文」。建议缩写中包含一个符号(如反引号 `)以避免误触发。在任意 App 中输入该缩写,Dash 会立即把它替换为完整代码,并依次提示你填写 __变量__ 占位符。

  6. (进阶)从命令行安装文档集:Dash 3.1.0 起支持 dash-install:// URL 格式,例如 dash-install://repo_name=Ruby Docsets&entry_name=cheatset&version=1.3.3,可以从命令行批量部署团队统一的文档集环境。注意 Main Docsets 仓库暂不支持该方式。

Dash 的常见问题? #

Dash 是免费软件吗? 不是。官网许可协议明确说明该软件「NOT free or shareware」,需要支付授权费后使用,购买与退款等客户服务由在线经销商 Paddle.com 处理。官网提供下载以便试用,但正式使用需购买许可。

Dash 需要联网才能查文档吗? 下载完成的文档集保存在本地,日常检索完全离线可用。只有在下载或更新文档集、访问 dash-install:// 远程仓库、或使用第三方在线文档源时才需要网络连接。

如何只在一个文档集里搜索? 使用文档集关键词。每个文档集都在 Settings > Docsets 中带有一个默认关键词(例如 PHP 是 php:),在主搜索框输入 php:printf 就只检索 PHP 文档。如果需要对一组文档集做更灵活的切换,建议改用搜索配置文件。

代码片段在别的 App 里不展开怎么办? 先确认 Settings > Snippets 中的片段功能已启用;再检查缩写是否因为过于普通而被误触发或冲突;同时确认系统辅助功能权限已授予 Dash。官方用户指南专门有一节「Snippet expansion is not working」用于排查此类问题。

可以把我自己项目的文档放进 Dash 吗? 可以。既可以使用内置的 Docset Generator 抓取网站或索引本地 HTML,也可以按照官方 Docset Generation Guide 用 Swift DocC、Sphinx、Javadoc、JSDoc、Doxygen 等工具生成 .docset,甚至通过 Docset Feed 分发给团队成员。

Dash 支持哪些编辑器? 官方集成插件覆盖 Xcode、Visual Studio Code、Sublime Text、Atom、Nova、BBEdit、TextMate、Emacs、Vim、Neovim、Eclipse、Android Studio,以及 JetBrains 全家桶(IntelliJ IDEA、AppCode、RubyMine、WebStorm、PhpStorm、PyCharm、CLion、DataGrip、GoLand、Rider)等,另外还提供 Terminal、AppleScript 与通用 URL 协议方案,几乎可以接入任何应用。

Dash 如何安装? #

macOS

  1. 从上方下载表格获取 Dash.zip(22.3 MB),双击解压得到 Dash.app。
  2. 将 Dash.app 拖入「应用程序」(/Applications)文件夹。
  3. 首次打开时,如果系统提示「无法验证开发者」,请在「应用程序」中右键点击 Dash 图标,选择「打开」,并在弹窗中确认。
  4. 启动后按提示完成初始设置,可勾选开机自启、隐藏 Dock 图标等选项。
  5. 如使用 Homebrew,也可以通过命令行安装(以官方 cask 为准):brew install --cask dash。
  6. 如需通过命令行批量安装文档集,可使用 dash-install://repo_name=...&entry_name=... 格式(需 Dash 3.1.0 及以上版本)。

Windows

  1. 访问官网首页,切换到「Dash for Windows」页面,下载对应的 Windows 安装包。
  2. 双击运行安装程序,按向导完成安装。
  3. 启动后在 Settings > Downloads 中选择并下载所需文档集。

Dash 如何卸载? #

macOS

  1. 退出 Dash:在菜单栏图标或 Dock 图标上右键,选择「退出」。
  2. 打开「访达」→「应用程序」,将 Dash.app 拖入废纸篓并清空。
  3. 如需彻底清理残留配置与缓存,可在终端执行以下命令(请先确认路径存在):
    • rm -rf ~/Library/Application\ Support/Dash
    • rm -rf ~/Library/Caches/com.kapeli.dash
    • rm -f ~/Library/Preferences/com.kapeli.dash.plist
    • rm -rf ~/Library/Saved\ Application\ State/com.kapeli.dash.savedState
  4. 注意:已下载的文档集通常存放在上述 Application Support 目录中,体积可能较大,删除后无法恢复,需重新下载。

Windows

  1. 打开「设置」→「应用」→「已安装的应用」(或「控制面板」→「程序和功能」)。
  2. 在列表中找到 Dash,选择「卸载」并按照提示完成操作。
  3. 如有残留的用户配置目录,可手动删除对应文件夹以释放空间。
相关标签
DashAPI 文档浏览器代码片段管理器离线文档docset 文档集macOS 开发工具开发者效率工具MCP AI 集成Xcode 插件