Любой хороший инструмент для быстрого перехода к программной документации - PullRequest
9 голосов
/ 02 апреля 2012

Вопрос, выделенный жирным шрифтом ниже.Это программный вопрос, поэтому не спешите с выводами и голосуйте, чтобы его закрыть.

Я программист на C ++.Я использую OS X / quicksilver или ubuntu / compiz / gnome do в качестве рабочего стола.Я стараюсь не трогать мышь, и я использую несколько рабочих столов, и я использую тайлинг, который я использую с клавиатуры.Для программирования я использую bash и vim.

Поскольку я программист на C ++, мне нужно ссылаться на документацию, разбросанную повсеместно, например, STL / Boost / CMAKE / zeromq / буферные протоколы / Mongodb / rapidJson / luajit исписок можно продолжить.

Прыжки к различным справочным пособиям в реальном времени разрушают / разрушают мыслительный процесс.Возможно, вы не уверены, что это действительно проблема, но если вы используете несколько библиотек из boost, без завершения кода вы поймете, что это действительно проблема. Как люди справляются со ссылками на справочное руководство и как быстрее всего перейти к справочному руководству?Стандартные закладки браузера не являются ответом, и все, что вы предлагаете, должно быть сделано с наименьшим количеством возможных нажатий клавиш, или с наименьшей задержкой от синтеза информационной потребности до удовлетворения потребности в информации.

Возможно, пользовательский браузер,или мощные плагины, которые я не знаю?Для навигации по каталогу я использую vim's NERDTree , возможно, что-то в этом роде?Например, я должен быть в состоянии напечатать boost-filesystem и быть в состоянии перейти непосредственно к странице ссылки на код в boost-filesystem.

Ответы [ 3 ]

4 голосов
/ 02 апреля 2012

Если ваши ссылки на документацию имеют четко определенный URI, вы можете создать небольшую программу, которая автоматически создаст правильный URI с учетом идентификатора документации и некоторого идентификатора объекта.

Например, я написал небольшую команду Ubiquity , которая позволяет мне быстро открывать последнюю документацию по любому объекту Qt, просто перейдя в Firefox и набрав ctrl + пробел , чтобы открыть консоль Ubiquity, а затем набрать qt QSomeClass.

Вот полный код команды Ubiquity (если у вас уже установлен Ubiquity, вы можете подписаться на ленту команд на на этой пустой странице ):

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. Я оставлю это как упражнение для читателя :). Другое решение может состоять в том, чтобы выполнить поиск на веб-сайте (при условии, что он обеспечивает надлежащий REST API для поиска) и перейти к первому результату.

2 голосов
/ 02 апреля 2012

Я боюсь, что вы хотите, чтобы IDE, а Vim, как я люблю его, не.

Существует плагин, который предоставляет доступ к документации стандартной библиотеки . Однако Vim сам по себе не может понять ваш код и волшебным образом адаптироваться к любой библиотеке, которую вы включаете в свой проект. Vim Wiki также имеет две страниц , которые могут представлять интерес.

1 голос
/ 02 апреля 2012

Я набираю Shift + k для просмотра C справочной страницы.

...