2014-12-17 2 views
0

특정 패턴을 감지하기 위해 한 줄씩 코드 파일을 통해 빗질 확장 기능을 작성했습니다. 내가보고있는 문제는 TextSelection.LineDown() 또는 이와 유사한 것을 사용할 때 접힌 섹션 내의 줄이 건너 뛴다는 것입니다. 해당 섹션을 생성하기 위해 TextSelection.OutlineSection()이 존재한다는 것을 알고 있지만이를 감지하고 확장하거나 축소 할 수있는 방법이 있습니까?EnvDTE.Document 내의 윤곽선 섹션 검색

+0

문서의 개요 영역에있는 것보다 문서의 텍스트에 더 관심이있는 것 같습니다. 이것이 올바른 문장이라면 개요 영역을 전혀 조작하지 않으려 고합니다 (사용자에게 혼란을 줄 수 있음). 대신 해결하려는 근본적인 문제에 관해 질문해야합니다. –

+0

@SamHarwell 당신은 윤곽선 영역에 대해별로 신경 쓰지 않는 것이 맞지만, 문제는 'TextSelection'이 잘못되었다는 것입니다. 근본적인 문제는'TextSelection.LineDown()'이 5-13 행에서 붕괴 된 윤곽선 선택을 만났을 때'TextSelection' 줄 4에서 13으로 이동할 수 있으면 텍스트 문서를 한 줄씩 깨끗하게 읽는 방법입니다. – Jake

+0

'TextSelection'은 당신이 사용하고자하는 것이 아닙니다. 문서의 텍스트를 가져 오는 것과 관련하여 새로운 질문을해야합니다. 코드를 알려주거나 지원하려는 Visual Studio의 버전 및 결과 확장을 배포하려는 방법에 대한 세부 정보를 제공하면 매우 유용합니다. –

답변

1

TextSelection은 텍스트 선택과 관련되어 있으므로 사용할 필요가 없습니다. EnvDTE.TextDocument가 지정된 경우 코드 파일의 행을 탐색하려면 TextDocument.StartPoint 속성을 사용하여 EnvDTE.TextPoint를 가져온 다음 TextPoint.CreateEditPoint()를 사용하여 EnvDTE.EditPoint를 만듭니다. EnvDTE.EditPoint를 사용하면 GetText (...), MoveToXXX (...) 등을 사용할 수 있습니다. 편집 점은 접힌 텍스트의 영향을받지 않습니다.

+0

정확히 필요한대로 EditPoint를 지적 해 주셔서 감사합니다. – Jake