[ContentType("Code")]
[Export(typeof(IWpfTextViewCreationListener))]
[TextViewRole(PredefinedTextViewRoles.Editable)]
internal sealed class TextViewCreationListener : IWpfTextViewCreationListener
{
public void TextViewCreated(IWpfTextView textView)
{
ClassTemplateWriter.initializeFromParent(textView);
}
}
public static void initializeMembers(string className)
{
ClassTemplateWriterMembers.className = className;
ClassTemplateWriterMembers.resetSnapshotLength();
ClassTemplateWriterMembers.edit = ClassTemplateWriterMembers.view.TextBuffer.CreateEdit();
}
我正在尝试使Visual Studio Extension在活动文档的编辑器(或缓冲区)中添加代码。 到目前为止一切都很好,除了,
我选择file1并运行命令,选择file2并在那里运行命令。 现在,如果我选择上一个文件并运行命令,则代码将添加到file1而不是file2。
问题是在使用TextViewCreate创建file1和file2的视图之后, 如果我想用活动文档的视图重置'edit',(使用'initializeMembers'上面的函数) ClassTemplateWriter的视图成员不是活动文档的视图,而是最后创建的视图。
如何使用活动文档的视图重置成员视图?
(通过活动文档我的意思是我正在运行命令的文件。这是dte.ActiveDocument)