首页 > 解决方案 > 在 RStudio 中给定一个包和插件名称,获取被调用的函数

问题描述

这是我的一些插件:

在此处输入图像描述

例如,我想以编程方式知道“reprex”为插件“Reprex selection”调用了什么函数。

如果我去 repo 并浏览到“reprex/inst/rstudio/addins.dcf”,我可以看到它是reprex:::reprex_selection().

所以我希望有:

magic("reprex", "Reprex selection")
# [1] "reprex_selection"

返回函数而不命名它也可以。

标签: rrstudioadd-inrstudioapi

解决方案


您可以使用以下命令读取该addins.dcf文件read.dcf()

magic <- function(package, name) {
  addins <- read.dcf(system.file("rstudio/addins.dcf", package = package))
  with(as.data.frame(addins), Binding[Name == name])
}
magic("reprex", "Reprex selection")
#> [1] "reprex_selection"

reprex 包于 2021-09-13 创建 (v2.0.0 )


推荐阅读