Как получить доступ к истории скриптов /источников в RStudio?

Я хотел бы получить доступ к истории того, что было напечатано на панели источников в RStudio.

Мне интересно, как мы учимся и набираем код. Я хотел бы проанализировать три вещи: i) способ, которым код типа одного человека, ii) способ, которым разные люди набирают код, iii) способ улучшения набора текста новичком.

Захват истории команд вполне удовлетворителен как первая попытка в этом направлении, но я хотел бы достичь более тонкой детализации и, таким образом, получить доступ к последовательным изменениям, внутри одной строкой в ​​пути.

Итак, чтобы было ясно, я не ищу ни историю команд , ни разница между разными версиями и файлом .R.

Я хотел бы получить доступ к последовательным изменениям панели исходного кода, которые видны, когда вы рекурсивно нажимаете Ctrl+Z. Я не знаю, есть ли более точное слово для того, что я описываю, но опять же меня интересует то, как биты кода добавляются /перемещаются /удаляются /исправляются /улучшаются в исходной панели, но не обязательно передаются в консоль и, следовательно, отсутствует в истории командования.

Это должно быть где-то /каким-то образом сохранено RStudio, так как оно доступно позже. Это может быть сохранено довольно скрытно /приватно /памятью /процессом /... и у меня есть очень смутное представление о том, как работает GUI. Я не знаю, если это будет легко доступно, а затем программно проанализировано, как правило, если мы сможем сохранить файл из него. Временные метки были бы вишней сверху, но я был бы счастлив без.

У вас есть идея, как получить доступ к этой истории?

7 голосов | спросил Vincent Bonhomme 8 J0000006Europe/Moscow 2016, 18:56:37

1 ответ


0

Исходная панель RStudio - это, по сути, вид на Ace Editor. Таким образом, вам необходимо получить доступ к editSession сеанса редактора и использовать getDocument или getWordRange вместе с отменой экземпляра undoManager editSession.

Я не думаю, что вы будете делать это из в RStudio без взлома кода RStudio, если только API-интерфейс RStudio Addin не предназначен для сквозных событий редактора в будущем.

Возможно, будет легче записать регистратор сеансов, так как внесены изменения, чем пытаться связываться с историей отмены. Я полагаю, вы могли бы написать Addin, который вызывает javascript для связи через существующий порт RStudio, используя события Ace Editor (например, onChange).

ответил Thell 13 J0000006Europe/Moscow 2016, 23:45:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132