本文整理汇总了C#中Workspace.GetDocumentIdInCurrentContext方法的典型用法代码示例。如果您正苦于以下问题:C# Workspace.GetDocumentIdInCurrentContext方法的具体用法?C# Workspace.GetDocumentIdInCurrentContext怎么用?C# Workspace.GetDocumentIdInCurrentContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Workspace
的用法示例。
在下文中一共展示了Workspace.GetDocumentIdInCurrentContext方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ConnectToWorkspace
private void ConnectToWorkspace(Workspace workspace)
{
ResetLastParsedDocument();
_workspace = workspace;
_workspace.WorkspaceChanged += this.OnWorkspaceChanged;
_workspace.DocumentOpened += this.OnDocumentOpened;
_workspace.DocumentActiveContextChanged += this.OnDocumentActiveContextChanged;
var textContainer = _subjectBuffer.AsTextContainer();
var documentId = _workspace.GetDocumentIdInCurrentContext(textContainer);
if (documentId != null)
{
var document = workspace.CurrentSolution.GetDocument(documentId);
if (document != null)
{
EnqueueParseSnapshotTask(document);
}
}
}
示例2: ConnectToWorkspace
private void ConnectToWorkspace(Workspace workspace)
{
ResetLastParsedDocument();
_workspace = workspace;
if (_workspace != null)
{
_isClassificationOnlyWorkspace = false;
_workspace.WorkspaceChanged += this.OnWorkspaceChanged;
_workspace.DocumentOpened += this.OnDocumentOpened;
_workspace.DocumentActiveContextChanged += this.OnDocumentActiveContextChanged;
var textContainer = _subjectBuffer.AsTextContainer();
var documentId = _workspace.GetDocumentIdInCurrentContext(textContainer);
if (documentId != null)
{
var document = workspace.CurrentSolution.GetDocument(documentId);
if (document != null)
{
EnqueueParseSnapshotTask(document);
return;
}
}
}
else
{
// This buffer isn't being tracked by any workspace. In Visual Studio, this
// can happen if it is not in the Running Document Table. We'll try to do
// basic syntax classification based on the initial state of the snapshot.
// Changes to the buffer are not observed, but initial tags will track forward.
_isClassificationOnlyWorkspace = true;
if (_languageName != null)
{
_workspace = new AdhocWorkspace();
var solution = _workspace.CreateSolution(SolutionId.CreateNewId());
var project = solution.AddProject(name: string.Empty, assemblyName: string.Empty, language: _languageName);
var parsedSnapshot = _subjectBuffer.CurrentSnapshot;
var document = project.AddDocument(name: string.Empty, text: _subjectBuffer.CurrentSnapshot.AsText());
EnqueueParseSnapshotTask(document, parsedSnapshot);
return;
}
}
}