(Перешли к https://github.com/rstudio/rstudioapi/issues/112) Я хотел бы добавить пункт в контекстное меню правой кнопки мыши моей копии RStudio, но, если это возможно, я еще не понял это;)
Этот код берет выделенный фрагмент в верхнем левом окне «source» и переворачивает обратную косую черту (так, чтобы пути к окнам обрабатывались соответствующим образом R, вместо того, чтобы выдавать ошибки, не имеющие возможности tryCatch, как показано ниже)
> try(print("c:\ljafasfsf"),silent=TRUE)
Ошибка: '\ l' - нераспознанный escape в символьной строке, начинающейся с "" c: \ l "
makewinpath<-function() {
try({
adc<-rstudioapi::getSourceEditorContext()
ps<-rstudioapi::primary_selection(adc)
t<-ps$text
t<-gsub("\\\\","/",t)
rstudioapi::modifyRange(ps$`range`,t,adc$id)
rstudioapi::setSelectionRanges(ps$`range`,adc$id)
})
}
.rs.addJsonRpcHandler("convert_windows_path_to_R_style",makewinpath)
Однако я могуПохоже, не выясняется, как добавить элемент в контекстное меню или перехватить вызов в хвостовой части существующего обработчика событий onContextMenu
для элемента textarea.ace_text-input
, который открывается путем выбора «Осмотреть» в существующем контекстном меню..