我想编写一个宏来将选定的文本放入我项目中的特定 XML 文件中。例如我的路径是 ~/Pages/Dictionary/en.xml。我想将选定的文本从 aspx.cs 文件放到 en.xml 文件中。
请指导我从哪里开始。我可以得到选定的文本。现在我不知道如何访问文件内容转到文件末尾(或文件中的其他位置)并根据选定的文本插入一些文本。
问问题
1510 次
1 回答
2
要打开文件,请使用解决方案资源管理器中的树路径或仅使用完整文件路径:
DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
DTE.ActiveWindow.Object.GetItem _
("{solutionname}\{projectname}\Pages\Dictionary\en.xml") _
.Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ActiveWindow.Object.DoDefaultAction()
或者
DTE.ItemOperations.OpenFile _
("{projectpath}\Pages\Dictionary\en.xml")
DTE.ActiveDocument.Activate()
您没有提到这是否适用于单个项目和/或解决方案,所以我不知道仅对花括号中的项目进行硬编码是否就足够了。
要在文件末尾插入文本,您可以选择文档末尾并粘贴(例如,如果您使用Selection.Copy()
),或者您可以创建一个编辑点并插入任何文本:
DTE.ActiveDocument.Selection.EndOfDocument()
DTE.ActiveDocument.Selection.Paste()
或者
Dim editPoint As EnvDTE.EditPoint
selection = DTE.ActiveDocument.Selection()
editPoint = selection.TopPoint.CreateEditPoint()
editPoint.Insert("any text" + vbLf)
我不确定文件末尾是否是您要添加文本的真实位置;如果没有,可以使用例如、、、或其他方式来导航文档以StartOfLine()
控制代码编辑器。LineUp()
WordRight()
于 2011-05-08T20:47:40.627 回答