任何快速跳转到编程文档的好工具
Any good tool to rapidly jump to programming documentation
下面用粗体显示的问题。这是一个编程问题,所以不要急于下结论并投票结束。
我是一名C++程序员。我使用OS X/quicksilver或ubuntu/compiz/ggnome do作为我的桌面。我尽量不碰鼠标,我使用多个桌面,我使用平铺,这两个都是我从键盘上驱动的。对于编程,我使用bash和vim。
由于我是一名C++程序员,我需要参考分散在各处的文档,例如STL/Boost/CMAKE/zeromq/protocol-buffers/Mongodb/rapiJson/loajit,列表还在继续
跳转到各种参考手册是一种实时下沉/心理思维过程的破坏者。也许你不相信这真的是一个问题,但如果你使用boost中的多个库,而没有代码完成,你会意识到这确实是个问题。人们如何管理他们的参考手册链接,跳转到参考手册的最快方法是什么?标准的浏览器书签不是答案,无论你建议什么,都应该以尽可能少的击键次数完成,或者从信息需要合成到信息需要满足的最低延迟
也许是一个自定义浏览器,或者我不知道的强大插件?对于目录导航,我使用vim的NERDTree,也许是类似的东西?例如,我应该能够键入boost文件系统,并能够直接跳转到boost文件的代码参考页。
如果您的文档引用具有定义良好的URI,那么您可以创建一个小程序,在给定文档id和某个实体标识符的情况下自动构造正确的URI。
例如,我写了一个小的Ubiquity命令,它允许我快速打开任何Qt实体的最新文档,只需切换到Firefox,键入ctrl+空格即可弹出Ubiquit控制台,然后键入qt QSomeClass
。
以下是Ubiquity命令的完整代码(如果你已经安装了Ubiquit,你可以订阅这个空白页面上的命令提要):
CmdUtils.makeSearchCommand({
names: ["qt"],
author: {name: "Luc Touraille"},
url: "http://doc.qt.nokia.com/main-snapshot/{QUERY}.html",
icon: "http://qt.nokia.com/favicon.ico",
description: "Searches the Qt Documentation for your word."
});
正如您所看到的,它非常简单,并且可以很容易地适应其他在线文档,只要URL构造良好。
编辑
这里有一个更通用的版本,你可以根据自己的需求进行调整(你只需要填写模板地图):
var urlTemplates = {
"QT": "http://doc.qt.nokia.com/main-snapshot/{QUERY}.html",
"MPL": "www.boost.org/doc/libs/release/libs/mpl/doc/refmanual/{QUERY}.html",
".NET": "http://msdn.microsoft.com/en-us/library/{QUERY}.aspx"
};
CmdUtils.CreateCommand({
names: ["doc"],
author: {name: "Luc Touraille"},
arguments: [ {role: "object",
nountype: /^[0-9a-zA-Z_.-]*$/,
label: "entity"
},
{role: "source",
nountype: [source for (source in urlTemplates)],
label: "documentation"
} ],
description: "Searches the documentation for some entity on a given documentation reference.",
_getSearchResultUrl: function( arguments ) {
var documentationSource = arguments.source.text;
var urlTemplate = urlTemplates[documentationSource.toUpperCase()];
return urlTemplate.replace("{QUERY}", arguments.object.text);
},
execute: function( arguments ) {
Utils.openUrlInBrowser(this._getSearchResultUrl(arguments));
}
});
样品用途:
doc QMainWindow from qt
doc from mpl vector
doc system.idisposable from .net
doc this from .net // with some text selected
当然,这是一个非常幼稚的实现,在大多数网站上都会失败。一种更进化的方法可以是用函数替换地图中的URL模板,从而对目标URL的构建提供更多的控制。我将把这个留给读者练习:)。另一个解决方案可能是在网站上执行搜索(假设它提供了适当的RESTneneneba API进行搜索)并跳转到第一个结果。
恐怕您想要的是一个IDE,而Vim却不是。
有一个插件可以访问标准库文档。然而,Vim本身无法理解您的代码,也无法神奇地适应您项目中包含的任何库。Vim Wiki还有两个页面可能会引起兴趣。
I键入Shift+k查看C
手册页。
- 正在查找文档以获得PS4平台的C++中的设备信息
- 如何在文档文件夹中创建目录
- 当Microsoft文档仅包含 C# 示例时,如何查找 C++ 包含文件名
- 通过构造函数创建一些值并尝试添加到文档中使用 rapidjson 不起作用
- 关于类的 Python 文档 - 对C++的引用不正确
- C++/autoconf 等效于文档库要求.txt的要求是什么?
- mbed:使用 USB 文档库编译会导致错误
- C++ VISUAL STUDIO:GLFWwindow没有初始化,即使它是在文档中编写的并且以前工作过
- 使用 yaml-cpp 更新 YAML 文档的节点和值
- 在加载 MSHTML 文档之前从 MSHTML 文档中删除无效的 URL
- 如何在C++中表示JSON文档的递归对象结构?
- 如何查找 Redshift Maya API 文档?
- 如何使用值模板编写文档测试用例?
- 如何使用 Gradle DSL(领域特定语言)上的文档?
- ncurses 找不到任何关于cchar_t的文档
- 提取狮身人面像文档中的C++代码片段
- 关于 API 文档和设备操作 在助手-sdk-cpp 上
- 有没有一个工具可以解析C++来强制文档
- 任何快速跳转到编程文档的好工具
- 什么是工具类?(术语来自Qt文档)