windows/Linux下的程序员文档浏览工具
Dash + Alfred
https://www.jianshu.com/p/77d2bf8df81f
对于程序员来说,查看api文档是非常频繁,经常窗口之间切换非常麻烦,mac下就有一个查文档的神器:Dash。
详细使用可以参考如上连接的说明。
本文重点整理下windows和linux下使用类似的功能如何操作。
IntelliJ插件
https://github.com/gdelmas/IntelliJDashPlugin/releases
ShortcutYou can change the shortcut at Preferences -> Keymap -> Plug-ins -> Dash.Toolbar IconYou can add a button to the toolbar. Right-click the menubar -> Customize […]. You will find the button under "Plug-ins -> Dash".
zeal
dash只有mac版本,没有windows版,以zeal为例说明
zeal官网:https://zealdocs.org/
文档地址:
https://kapeli.com/cheatsheets
windows下的安装和使用很简单:只要下载安装包,解压安装即可
linux下需要安装依赖包和自己代码编译
由于api的内容需要连接国外的站点下载,速度特别慢,建议采用如下的docsets节的内容手动下载和加压即可
docsets
https://kapeli.com/docsets 这里有docsets的一些相关资料
可以下载的内容有:https://github.com/Kapeli/feeds 这里有完整列表,选择某个xml文件中,找到下载的地址下载对应的tgz文件,下载完成后解压到zeal对应的目录下,然后重新启动zeal即可
如下是一个参考的下载来源:
C++17: csdn
http://tokyo.kapeli.com/feeds/jQuery.tgz
http://tokyo.kapeli.com/feeds/Bash.tgz
http://tokyo.kapeli.com/feeds/C++.tgz
http://tokyo.kapeli.com/feeds/Boost.tgzhttp://tokyo.kapeli.com/feeds/Vagrant.tgzhttp://tokyo.kapeli.com/feeds/Gradle_DSL.tgzhttp://tokyo.kapeli.com/feeds/AWS_JavaScript.tgzhttp://tokyo.kapeli.com/feeds/Go.tgzhttp://tokyo.kapeli.com/feeds/Font_Awesome.tgzhttp://tokyo.kapeli.com/feeds/SQLAlchemy.tgzhttp://tokyo.kapeli.com/feeds/jQuery_UI.tgzhttp://tokyo.kapeli.com/feeds/JavaScript.tgzhttp://tokyo.kapeli.com/feeds/Spring_Framework.tgzhttp://tokyo.kapeli.com/feeds/RequireJS.tgzhttp://tokyo.kapeli.com/feeds/Docker.tgzhttp://tokyo.kapeli.com/feeds/Python_3.tgzhttp://tokyo.kapeli.com/feeds/Vim.tgzhttp://tokyo.kapeli.com/feeds/C.tgzhttp://tokyo.kapeli.com/feeds/Grails.tgzhttp://tokyo.kapeli.com/feeds/NodeJS.tgzhttp://tokyo.kapeli.com/feeds/CMake.tgzhttp://tokyo.kapeli.com/feeds/Groovy.tgzhttp://tokyo.kapeli.com/feeds/Bootstrap_3.tgzhttp://tokyo.kapeli.com/feeds/Java_SE9.tgzhttp://tokyo.kapeli.com/feeds/ElasticSearch.tgzhttp://singapore.kapeli.com/feeds/TypeScript.tgz
Linux编译zeal
centos 7.1版本上没有zeal的二进制安装包,从源码编译有点麻烦。
由于zeal使用的是qt5版本,默认centos7没有这个内容,需要进行一定的配置
依赖包
第一步,参考README安装基础的依赖包
yum install qt5-qtwebkit-devel.x86_64yum install xcb-util-keysyms-devel.x86_64yum install -y libarchive-devel.x86_64
ECM 【cmake modules】
此时执行cmake编译时提示如下的错误:
CMake Error at assets/CMakeLists.txt:2 (find_package): Could not find a package configuration file provided by "ECM" with any of the following names:
ECMConfig.cmake
ecm-config.cmake
Add the installation prefix of "ECM" to CMAKE_PREFIX_PATH or set "ECM_DIR" to a directory containing one of the above files. If "ECM" provides a
这个错误是和cmake有关的,缺少的内容安装
yum install -y extra-cmake-modules.noarch
再次编译,出现如下的问题,安装qt5的包
Qt5 COMPONENTS X11Extras REQUIRED
yum install -y qt5-qtx11extras-devel.x86_64
此时如果编译成功,即可运行,运行时出现如下问题:
libQt5Gui.so undefined reference hb_font_funcs_set_nominal_glyph_func
这个是harfbuzz的版本问题,只要安装新的1.0.3.2版本即可【默认是0.#的版本】
yum install -y harfbuzz-devel.x86_64 [HarfBuzz is an OpenType text shaping engine]
此时即可运行
将编译的包拷贝到其他的机器上运行
由于整个包依赖于qt,为了避免系统没有安装qt的问题,此处把相关的依赖放入独立的目录中,使用独立的环境变量进行设置引导zeal
运行脚本
具体的脚本文件类似如下
#!/bin/bash
:<<EOF
~/.local/share/Zeal/Zeal/docsets
想看哪个解哪个!!!
tar -xzvf Java_SE9.tgz -C ~/.local/share/Zeal/Zeal/docsets/.
EOF
# 自动从FTP下载docsets,然后装入zeal
num=`ls ~/.local/share/Zeal/Zeal/docsets | wc -l`
if [ "$num" = "0" ]; then
mkdir pkg
ftp -v -n <<END
open 172.16.1.201 21
user anonymous anonymous
binary
lcd pkg
cd /常用软件/dash/docsets/
prompt
mget *.tgz
mget *.zip
close
bye
END for file in ./pkg/*
do
echo $file
tar xzf $file -C ~/.local/share/Zeal/Zeal/docsets/.
done rm -rf pkg
fi
# 运行zeal的相关设置和准备
BASE_DIR=$(cd "$(dirname "$0")"; pwd)
cd $BASE_DIR
export LD_LIBRARY_PATH=$BASE_DIR/dash
export FONTCONFIG_FILE=/etc/fonts/fonts.conf
export FONTCONFIG_PATH=/etc/fonts/
export QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb
export QT_DEBUG_PLUGINS=1
cd dash
if [ -f /lib64/libharfbuzz.so.0.10302.0 ]; then
echo 'true type font installed'
else
rpm -i --force --nodeps *.rpm
fi
chmod +x zeal
./zeal
cd ..
依赖的文件列表
dash:
harfbuzz-1.3.2-1.el7.x86_64.rpm
harfbuzz-devel-1.3.2-1.el7.x86_64.rpm
harfbuzz-icu-1.3.2-1.el7.x86_64.rpm
libcrypto.so
libcrypto.so.10
libcrypto.so.1.0.2k
libpcre2-16.so.0
libpcre2-16.so.0.5.0
libQt5Concurrent.prl
libQt5Concurrent.so
libQt5Concurrent.so.5
libQt5Concurrent.so.5.9
libQt5Concurrent.so.5.9.2
libQt5Core.prl
libQt5Core.so
libQt5Core.so.5
libQt5Core.so.5.9
libQt5Core.so.5.9.2
libQt5DBus.prl
libQt5DBus.so
libQt5DBus.so.5
libQt5DBus.so.5.9
libQt5DBus.so.5.9.2
libQt5EglFSDeviceIntegration.prl
libQt5EglFSDeviceIntegration.so
libQt5EglFSDeviceIntegration.so.5
libQt5EglFSDeviceIntegration.so.5.9
libQt5EglFSDeviceIntegration.so.5.9.2
libQt5EglFsKmsSupport.prl
libQt5EglFsKmsSupport.so
libQt5EglFsKmsSupport.so.5
libQt5EglFsKmsSupport.so.5.9
libQt5EglFsKmsSupport.so.5.9.2
libQt5Gui.prl
libQt5Gui.so
libQt5Gui.so.5
libQt5Gui.so.5.9
libQt5Gui.so.5.9.2
libQt5Location.so.5
libQt5Location.so.5.9
libQt5Location.so.5.9.2
libQt5Network.prl
libQt5Network.so
libQt5Network.so.5
libQt5Network.so.5.9
libQt5Network.so.5.9.2
libQt5OpenGL.prl
libQt5OpenGL.so
libQt5OpenGL.so.5
libQt5OpenGL.so.5.9
libQt5OpenGL.so.5.9.2
libQt5Positioning.so.5
libQt5Positioning.so.5.9
libQt5Positioning.so.5.9.2
libQt5PrintSupport.prl
libQt5PrintSupport.so
libQt5PrintSupport.so.5
libQt5PrintSupport.so.5.9
libQt5PrintSupport.so.5.9.2
libQt5Qml.prl
libQt5Qml.so
libQt5Qml.so.5
libQt5Qml.so.5.9
libQt5Qml.so.5.9.2
libQt5QuickParticles.prl
libQt5QuickParticles.so
libQt5QuickParticles.so.5
libQt5QuickParticles.so.5.9
libQt5QuickParticles.so.5.9.2
libQt5Quick.prl
libQt5Quick.so
libQt5Quick.so.5
libQt5Quick.so.5.9
libQt5Quick.so.5.9.2
libQt5QuickTest.prl
libQt5QuickTest.so
libQt5QuickTest.so.5
libQt5QuickTest.so.5.9
libQt5QuickTest.so.5.9.2
libQt5QuickWidgets.prl
libQt5QuickWidgets.so
libQt5QuickWidgets.so.5
libQt5QuickWidgets.so.5.9
libQt5QuickWidgets.so.5.9.2
libQt5Sensors.so.5
libQt5Sensors.so.5.9
libQt5Sensors.so.5.9.2
libQt5Sql.prl
libQt5Sql.so
libQt5Sql.so.5
libQt5Sql.so.5.9
libQt5Sql.so.5.9.2
libQt5Test.prl
libQt5Test.so
libQt5Test.so.5
libQt5Test.so.5.9
libQt5Test.so.5.9.2
libQt5WebChannel.so.5
libQt5WebChannel.so.5.9
libQt5WebChannel.so.5.9.2
libQt5WebKit.prl
libQt5WebKit.so
libQt5WebKit.so.5
libQt5WebKit.so.5.9
libQt5WebKit.so.5.9.1
libQt5WebKitWidgets.prl
libQt5WebKitWidgets.so
libQt5WebKitWidgets.so.5
libQt5WebKitWidgets.so.5.9
libQt5WebKitWidgets.so.5.9.1
libQt5Widgets.prl
libQt5Widgets.so
libQt5Widgets.so.5
libQt5Widgets.so.5.9
libQt5Widgets.so.5.9.2
libQt5X11Extras.prl
libQt5X11Extras.so
libQt5X11Extras.so.5
libQt5X11Extras.so.5.9
libQt5X11Extras.so.5.9.2
libQt5XcbQpa.prl
libQt5XcbQpa.so
libQt5XcbQpa.so.5
libQt5XcbQpa.so.5.9
libQt5XcbQpa.so.5.9.2
libQt5XmlPatterns.so.5
libQt5XmlPatterns.so.5.9
libQt5XmlPatterns.so.5.9.2
libQt5Xml.prl
libQt5Xml.so
libQt5Xml.so.5
libQt5Xml.so.5.9
libQt5Xml.so.5.9.2
libssl3.so
libssl.so
libssl.so.10
libssl.so.1.0.2k
libxcb-composite.so
libxcb-composite.so.0
libxcb-composite.so.0.0.0
libxcb-damage.so
libxcb-damage.so.0
libxcb-damage.so.0.0.0
libxcb-dpms.so
libxcb-dpms.so.0
libxcb-dpms.so.0.0.0
libxcb-dri2.so
libxcb-dri2.so.0
libxcb-dri2.so.0.0.0
libxcb-dri3.so
libxcb-dri3.so.0
libxcb-dri3.so.0.0.0
libxcb-ewmh.so.2
libxcb-ewmh.so.2.0.0
libxcb-glx.so
libxcb-glx.so.0
libxcb-glx.so.0.0.0
libxcb-icccm.so.4
libxcb-icccm.so.4.0.0
libxcb-image.so.0
libxcb-image.so.0.0.0
libxcb-keysyms.so
libxcb-keysyms.so.1
libxcb-keysyms.so.1.0.0
libxcb-present.so
libxcb-present.so.0
libxcb-present.so.0.0.0
libxcb-randr.so
libxcb-randr.so.0
libxcb-randr.so.0.1.0
libxcb-record.so
libxcb-record.so.0
libxcb-record.so.0.0.0
libxcb-render.so
libxcb-render.so.0
libxcb-render.so.0.0.0
libxcb-render-util.so.0
libxcb-render-util.so.0.0.0
libxcb-res.so
libxcb-res.so.0
libxcb-res.so.0.0.0
libxcb-screensaver.so
libxcb-screensaver.so.0
libxcb-screensaver.so.0.0.0
libxcb-shape.so
libxcb-shape.so.0
libxcb-shape.so.0.0.0
libxcb-shm.so
libxcb-shm.so.0
libxcb-shm.so.0.0.0
libxcb-sync.so
libxcb-sync.so.1
libxcb-sync.so.1.0.0
libxcb-util.so.1
libxcb-util.so.1.0.0
libxcb-xevie.so
libxcb-xevie.so.0
libxcb-xevie.so.0.0.0
libxcb-xf86dri.so
libxcb-xf86dri.so.0
libxcb-xf86dri.so.0.0.0
libxcb-xfixes.so
libxcb-xfixes.so.0
libxcb-xfixes.so.0.0.0
libxcb-xinerama.so
libxcb-xinerama.so.0
libxcb-xinerama.so.0.0.0
libxcb-xinput.so
libxcb-xinput.so.0
libxcb-xinput.so.0.1.0
libxcb-xkb.so
libxcb-xkb.so.1
libxcb-xkb.so.1.0.0
libxcb-xselinux.so
libxcb-xselinux.so.0
libxcb-xselinux.so.0.0.0
libxcb-xtest.so
libxcb-xtest.so.0
libxcb-xtest.so.0.0.0
libxcb-xvmc.so
libxcb-xvmc.so.0
libxcb-xvmc.so.0.0.0
libxcb-xv.so
libxcb-xv.so.0
libxcb-xv.so.0.0.0
platforms
zeal
dash/platforms:
libqeglfs.so
libqlinuxfb.so
libqminimalegl.so
libqminimal.so
libqoffscreen.so
libqvnc.so
libqxcb.so
windows/Linux下的程序员文档浏览工具的更多相关文章
- Xcode之外的文档浏览工具--Dash (在iOS代码库中浏览本帖)
链接地址:http://www.cocoachina.com/bbs/read.php?tid=273479 Xcode之外的文档浏览工具--Dash (在iOS代码库中浏览本帖) ...
- linux下如何编辑txt文档
利用vi命令 [root@bogon a]# vi a.txt 打开a.txt文档 vi a.txt后,键盘敲i,可以进入编辑模式, 输入完内容后按ESC键,键盘输入 :wq 可以保存并退出 ...
- 【转】Linux下进程/程序网络带宽占用情况查看工具 -- NetHogs
http://www.cnblogs.com/carbon3/p/5930803.html 之前VPS侦探曾经介绍过流量带宽相关的工具如:iftop.vnstat,这几个都是统计和监控网卡流量的.但是 ...
- Linux下进程/程序网络带宽占用情况查看工具 -- NetHogs
http://www.vpser.net/manage/nethogs.html 来自. 最后略有修改 之前VPS侦探曾经介绍过流量带宽相关的工具如:iftop.vnstat,这几个都是统计和监 ...
- Linux命令学习之路-文档浏览之less
使用权限:所有角色 使用方式:less [ options ] filename 作用:文档内容浏览,可向前或者向后浏览文档内容 注意点: 1.less 命令和 more 命令的作用大致相同,less ...
- linux下关于程序性能和系统性能的工具、方法
观察性能/状态的方法:top free netstat /pro/目录下的信息 其中/pro/meminfo下的信息相当丰富 ------------------------------------- ...
- windows/Linux下设置ASP.Net Core开发环境并部署应用
10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...
- linux实用指令 | 程序员线上排查必知必会linux指令(持续更新中)
Linux线上排查程序员实用指南 一.乱码问题 二.帮助指令 1. help命令 2. man命令 3. info命令 三.性能监测与优化 1. top命令 参考资源 Linux线上排查程序员实用指南 ...
- 魔改——MFC MDI程序 定制 文档模板 运行时全部打开 禁用关闭按钮
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
随机推荐
- [Swift]LeetCode486. 预测赢家 | Predict the Winner
Given an array of scores that are non-negative integers. Player 1 picks one of the numbers from eith ...
- 【译】编写支持SSR的通用组件指南
原文来自:https://blog.lichter.io/posts/the-guide-to-write-universal-ssr-ready-vue-compon?utm_campaign=Vu ...
- ASP.NET Core 2.1 Web API + Identity Server 4 + Angular 6 + Angular Material 实战小项目视频
视频简介 ASP.NET Core Web API + Angular 6的教学视频 我是后端开发人员, 前端的Angular部分讲的比较差一些, 可以直接看代码!!!! 这是一个小项目的实战视频, ...
- api-ms-win-crt-process-l1-1-0.dll 丢失的处理,遇到问题和完美解决
api-ms-win-crt-process-l1-1-0.dll 丢失的处理 简介 在换了新电脑后,一些环境需要重新搭建,本以为是个小case,没想到竟然遇到了各种拦路虎. 在成功安装Python3 ...
- 深入解析 H.265 编码模式,带你了解Apple全面推进H.265的原因
今天我们聊聊视频编码.视频文件亘古以来存在一个矛盾:高清画质和视频体积的冲突,相同编码标准下,视频更高清,视频体积更大.因此,应用更先进的视频编码标准,降低视频体积,可以大幅降低网站的流量消耗. 目前 ...
- 【干货】.NET WebApi HttpMessageHandler管道
消息拦截器是一个类,接收 HTTP request并返回 HTTP response,Message handler 继承自抽象类 HttpMessageHandler,那么学习消息过滤器之前你应该了 ...
- Shader 入门笔记(二) CPU和GPU之间的通信,渲染流水线
渲染流水线 1)应用阶段(CPU处理) 首先,准备好场景数据(摄像机位置,视锥体,模型和光源等) 接着,做粗粒度剔除工作. 最后,设置好每个模型的渲染状态(使用的材质,纹理,shader等) 这一阶段 ...
- SpringBoot入门教程(七)整合themeleaf+bootstrap
Thymeleaf是用于Web和独立环境的现代服务器端Java模板引擎.Thymeleaf的主要目标是将优雅的自然模板带到您的开发工作流程中—HTML能够在浏览器中正确显示,并且可以作为静态原型,从而 ...
- centos7正确关机重启
linux主要用于服务器领域,而在服务器上执行一项服务是永无止境的,除非遇到特殊情况,否则不会关机.和Windows不同,在linux系统下,很多进程是在后台执行的.在屏幕背后,可能有很多人同时在工作 ...
- Java开发知识之Java中的集合Set接口以及子类应用
---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...