从rstudioapi包理解getActiveDocumentContext()函数
我试图理解函数getActiveDocumentContext()应该做什么。当我在控制台中运行它时,我获得以下输出从rstudioapi包理解getActiveDocumentContext()函数,r,rstudio,R,Rstudio,我试图理解函数getActiveDocumentContext()应该做什么。当我在控制台中运行它时,我获得以下输出 > getActiveDocumentContext() Document Context: - id: '#console' - path: '' - contents: <1 rows> Document Selection: - [1, 1] -- [1, 1]: '' >getActiveDocumentContext()
> getActiveDocumentContext()
Document Context:
- id: '#console'
- path: ''
- contents: <1 rows>
Document Selection:
- [1, 1] -- [1, 1]: ''
>getActiveDocumentContext()
文档上下文:
-id:“#控制台”
-路径:“”
-内容:
文件选择:
- [1, 1] -- [1, 1]: ''
当我阅读与函数相关的文档时
详细信息
返回的选择字段是文档选择对象的列表。
文档选择只是文档范围和
该范围内的文本
值
包含以下元素的列表:
id文档id。路径磁盘上文档的路径。
内容文档的内容。选择一个选择列表。
有关更多信息,请参阅详细信息
这让我推断返回是指向控制台的,路径是一个空格,文档中有某种文档和文本
但是,当我在函数内部以调试模式运行此函数时,返回的结果是不同的。
这是因为范围不同吗?您可以将
getActiveDocumentContext
视为提供有关用户光标所在位置的信息(即带焦点的窗格)
如果用户碰巧将光标放在R控制台而不是源代码编辑器中,那么您将获得有关R控制台的信息。这就是为什么在控制台上运行时总是看到“console”
它主要用于帮助加载项,加载项通常在当前编辑选项卡和/或其中所做的选择上操作。请参见此示例,它使用getActiveDocumentContext
帮助您编写标记:
如果在调试时或在R控制台上运行
getActiveDocumentContext
,将不会得到有用的结果。在查询文档上下文后,可能会考虑中断调试器,这样调试器不会将焦点放在控制台而丢失上下文。谢谢您的洞察力!这很有帮助。我确实在我试图理解的一个加载项中找到了代码!