특정 파일 확장명에 대한 분류 자도 내보내는 VSPackage 형식의 VS2013 확장을 구현했습니다. 모든 것은 잘 작동하고 있으며, 귀찮게하는 유일한 것은 GetClassifier()가 IClassifierProvider를 구현할 때 두 번 호출된다는 것입니다. 이는 동일한 변경 사항을 처리하는 두 개의 분류자를 생성하게됩니다. IClassifierProvider의 구현은 아래와 같이 간단합니다.IClassifierProvider의 GetClassifier()가 두 번 호출 되었습니까?
[Export(typeof(IClassifierProvider))]
[ContentType(MyConstants.MyContentType)]
public sealed class MyClassifierProvider : IClassifierProvider
{
public IClassifier GetClassifier(ITextBuffer textBuffer)
{
return new MyClassifier(textBuffer);
}
}
분류와 관련이없는 모든 것을 제거하여 패키지를 최소화하려고했습니다. 이것에 대한 조언을 정말 고맙게 생각합니다.
업데이트 : GetClassifier 호출에서 텍스트 버퍼가 다른 것으로 잘못되었습니다. 그에 따라이 게시물을 업데이트했습니다.
버퍼가 다른 것으로 잘못되었으므로 다시 확인했습니다. 이제 분류 자의 캐시와 버퍼를 유지함으로써이 문제를 해결할 수 있습니다. – edwabr123
차가움. 분류 자는 IDisposable을 구현하여 분류자를 필요로하는 경우 더 이상 분류자를 필요로하지 않는시기를 알 수 있습니다. –