2017-11-02 20 views
0

문서를 변경할 수있는 CodeFixProvider이 있는데 제대로 작동합니다.CodeFixProvider를 사용하여 둘 이상의 문서를 변경할 수 있습니까?

그러나 첫 번째 문서가 변경되면 두 번째 문서도 변경해야합니다.

두 번째 문서를 수정하는 코드를 작성할 수 있지만 실제로 사용자가 선택하고 첫 번째에 적용했을 때보고 할 이벤트를 볼 수 없기 때문에 실행할시기를 알 수 없습니다. CodeFixProvider 문서. CodeFixProvider을 미리보기 만하면 두 번째 문서에 변경 내용을 적용하고 싶지 않습니다.

누구든지 전에이 문제를 해결 했습니까? 아니면 제안이 있습니까? 어떤 도움을 주시면 감사하겠습니다.

답변

2

CodeFixProvider를 미리보기 만하면 두 번째 문서에 변경 내용을 적용하지 않으려합니다.

사실, 그렇게합니다. 코드 수정 공급자는 사용자의 실제 코드에 대해 직접 변경하지 않습니다 (Roslyn의 전체 계층 구조는 변경할 수 없음). 대신 코드 수정이 적용된 Solution을 새로 만듭니다.

당신은 모든 관련 문서를 무엇이든 상관없이 변경해야하며, Roslyn은 변경 사항을 어떻게 처리해야하는지 파악해야합니다.

+0

답장을 보내 주셔서 감사합니다. 사실 더 의미가 있습니다. 나는 그것을 시험하고 있지만 새로운'Project'에있는'AdditionalDocuments'와 오래된 프로젝트는 비어 있습니다. 그것은 두 번째 문서로 편집하려고하는 .json 파일이지만 .json'Document'를로드하는 방법을 모르겠습니다. –

0

Document.Project.Documents을 사용하면 프로젝트의 모든 문서에 액세스 할 수 있습니다. 문서를 가져 오는 다른 방법이 있지만 해결하려는 작업에 따라 다릅니다. 더 많은 정보가 필요하면 무엇을 달성하려고하는지 기술하십시오.