2013-05-24 1 views
0

여러분이 나를 더 똑똑하게 만들 수 있기를 바랍니다. 나는 간단한 VS2012 Addin을 만들고있다. 애드 인은 당사에서 정기적으로 수행하는 작업과 관련된보다 광범위한 검색/대체 기능입니다. Visual Studio에서 추가/대체 텍스트 상자를 여러 개 입력 할 수있는 확장 찾기/바꾸기 대화 상자를 열어야하는 도구 메뉴 옵션이 있습니다. 결국에는 원래 대화 상자 ('대소 문자 일치', '전체 단어 일치', '정규 표현식 사용')에서 사용할 수있는 옵션 체크 박스를 포함해야합니다.TextDocument.ReplacePattern에 여러 개의 vsFindOptions을 어떻게 제공합니까?

[Guid("A457303F-D058-4415-A2B4-A81B148C7689")] 
public enum vsFindOptions 
{ 
    vsFindOptionsNone = 0, 
    vsFindOptionsMatchWholeWord = 2, 
    vsFindOptionsMatchCase = 4, 
    vsFindOptionsRegularExpression = 8, 
    vsFindOptionsBackwards = 128, 
    vsFindOptionsFromStart = 256, 
    vsFindOptionsMatchInHiddenText = 512, 
    vsFindOptionsWildcards = 1024, 
    vsFindOptionsSearchSubfolders = 4096, 
    vsFindOptionsKeepModifiedDocumentsOpen = 8192, 
} 
:

문제는 하나 개의 선택 INT 매개 변수가 전달 될위한에서는 replaceText 또는 ReplacePattern 방법에 그들은 단지, 옵션의 하나는 다음과 같습니다 vsFindOptions입니다 제공하는 데 사용되는 열거를 할 수 있다는 것입니다 모든 좋은,하지만 내가하고 싶은 것은 더 같이있다

[...].ReplacePattern("test", "done deal", 
    (int)vsFindOptions.vsFindOptionsNone, ref dummy); 

:

나는 예를 볼 수 있습니다 MSDN [1]의 문서를 통해보고 된

[...].ReplacePattern(@"<span (.\w.+?>)", string.Empty, 
    (int)vsFindOptions.vsFindOptionsRegularExpression, 
    (int)vsFindOptions.vsFindOptionsMatchWholeWord); 

옵션은 확인란입니다.이 여러 선택 옵션이 있지만 ReplacePattern 메소드는 하나의 int 만 허용합니다. 단순히 같은 값을 함께 추가 할 수 있습니다 :

(int)vsFindOptions.vsFindOptionsRegularExpression+ 
(int)vsFindOptions.vsFindOptionsMatchWholeWord ? 

당신은 비트 OR 연산자 '를 사용할 수 있어야

답변

1

(대에서 더 이상 사용할 수없는 추가 기능이 이상하지만, 필요 디버그 문제를 기압 시도 할 것이다) | '이므로

[...].ReplacePattern(@"<span (.\w.+?>)", string.Empty, 
    vsFindOptions.vsFindOptionsRegularExpression | 
    vsFindOptions.vsFindOptionsMatchWholeWord); 
+0

vsFindOptionsRegularExpression과 vsFindOptionsMatchWholeWord를 적용해도 true입니까? – Marcus

+0

예. 예를 들어보십시오 [이 답변] (http://stackoverflow.com/a/8480/1077279) – shamp00

+0

위대한, 도와 줘서 고마워! – Marcus

관련 문제