我试图理解函数getActiveDocumentContext()应该做什么。当我在我的控制台中运行它时,我获得以下输出,
> getActiveDocumentContext()
Document Context:
- id: '#console'
- path: ''
- contents: <1 rows>
Document Selection:
- [1, 1] -- [1, 1]: ''当我阅读与函数相关的文档时
详细信息 返回的选择字段是文档选择对象的列表。文档选择只是文档范围的配对,文本在该范围内。 值 包含下列内容的清单: id文档ID.path到磁盘上的文档的路径。内容文档的内容。选择选择的列表。有关详细信息,请参阅详细信息。
这使我推断返回是指向控制台,路径是一个空白,文档中有某种类型的文档和文本。
但是,当我在函数内部的调试模式中运行此函数时,返回的结果是不同的。

这是因为范围不同吗?
发布于 2017-09-08 21:12:38
您可以将getActiveDocumentContext看作是提供关于用户游标所在位置的信息(即带有焦点的窗格)。
如果用户碰巧将光标放在R控制台而不是源编辑器中,您将得到有关R控制台的信息。这就是为什么在控制台运行时总是会看到“控制台”的原因。
它的设计主要是为了帮助实现外接程序,而外接程序通常在当前编辑选项卡和/或在其中进行的选择上操作。看看这个例子,它使用getActiveDocumentContext来帮助您编写标记:https://github.com/ThinkR-open/remedy
如果您在调试时运行getActiveDocumentContext,或者在R控制台上运行,您将不会获得有用的结果。您可能会考虑在查询文档上下文之后中断调试器,这样调试器就不会将焦点放在控制台中而失去上下文。
https://stackoverflow.com/questions/46114195
复制相似问题