使用以下代码,我可以获得 .css 和 .js 文件等的 ITextDocument,但 DocumentService.TryGetTextDocument() 方法为.html文件返回一个空的 ITextDocument 文档。
[Export(typeof(IVsTextViewCreationListener))]
[ContentType("text")]
[TextViewRole(PredefinedTextViewRoles.PrimaryDocument)]
internal sealed class CommandProvider : IVsTextViewCreationListener
{
[Import(typeof(IVsEditorAdaptersFactoryService))]
private IVsEditorAdaptersFactoryService EditorService { get; set; }
[Import(typeof(ITextDocumentFactoryService))]
private ITextDocumentFactoryService DocumentService { get; set; }
public void VsTextViewCreated(IVsTextView textViewAdapter)
{
var textView = EditorService.GetWpfTextView(textViewAdapter);
if (!DocumentService.TryGetTextDocument(textView.TextBuffer, out ITextDocument document))
return;
}
}
问题:如何从 HTML 文本缓冲区中检索 ITextDocument?
执行特定命令时,我需要处理文档的内容。
非常感谢任何帮助!
请像这样修改您的代码,它对我有用。
public void VsTextViewCreated(IVsTextView textViewAdapter)
{
var textView = EditorService.GetWpfTextView(textViewAdapter);
ITextDocument document = null;
if (!DocumentService.TryGetTextDocument(textView.TextDataModel.DocumentBuffer, out document))
return;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句