
Signature
Carlos J. Quintero (Visual Developer - .NET MVP)
The MZ-Tools all-in-one add-in, now for .NET: http://www.mztools.com
Thanks, Carlos.
However, FindPattern() always returns False.
Here's my code:
foreach (EnvDTE.ProjectItem prjItem in project.ProjectItems)
{
if (prjItem.Name == "AssemblyInfo.cs")
{
prjItem.Open("{00000000-0000-0000-0000-000000000000}");
//string pattern = "\\[assembly\\:
AssemblyVersion\\(\\\"([^\\\"]+)\\\"\\)\\]";
// Let's try a simple search pattern first
string pattern = "AssemblyVersion";
TextDocument textDocument =
(TextDocument)prjItem.Document.Object("TextDocument");
EditPoint editPoint = textDocument.StartPoint.CreateEditPoint();
TextRanges tags = null;
EditPoint endPoint = null;
if (editPoint.FindPattern(pattern,
(int)vsFindOptions.vsFindOptionsFromStart +
(int)vsFindOptions.vsFindOptionsRegularExpression,
ref endPoint, ref tags)) // Always returns false.
Any help is gladly appreciated.
-Oleg.
> Get Document.Object("TextDocument"), cast to TextDocument, and use
> TextDocument.StartPoint.CreateEditPoint.FindPattern(...)
[quoted text clipped - 21 lines]
>>
>> -Oleg.
Carlos J. Quintero [MVP] - 20 Oct 2004 13:36 GMT
EditPoints are a bit tricky. The FindPattern needs an input/output edit
point for the 3rd parameter. Take a look at this macro:
Dim objProjectItem As ProjectItem
Dim objTextDocument As TextDocument
Dim objWindow As Window
Dim objEditPoint1 As EditPoint
Dim objEditPoint2 As EditPoint
For Each objProjectItem In
DTE.Solution.Projects.Item(1).ProjectItems
If (objProjectItem.Name = "AssemblyInfo.cs") Then
objWindow =
objProjectItem.Open(EnvDTE.Constants.vsext_vk_TextView)
objTextDocument =
DirectCast(objProjectItem.Document.Object("TextDocument"), TextDocument)
objEditPoint1 = objTextDocument.StartPoint.CreateEditPoint()
objEditPoint2 = objTextDocument.EndPoint.CreateEditPoint()
If objEditPoint1.FindPattern("AssemblyVersion",
vsFindOptions.vsFindOptionsNone, objEditPoint2, Nothing) Then
MsgBox("Found " & objEditPoint1.GetText(objEditPoint2))
End If
End If
Next
Regards,
Carlos J. Quintero (Visual Developer - .NET MVP)
The MZ-Tools all-in-one add-in, now for .NET: http://www.mztools.com
> Thanks, Carlos.
>
[quoted text clipped - 25 lines]
>
> -Oleg.