저는 ResourceChangeListener를 구현하고 save 이벤트를 잡았습니다. 이제 파일에 코드를 추가하고 싶습니다. 어떻게 할 수 있니? BufferedReader/BufferedWriter 사용하려고하지만 파일을 새로 고쳐야합니다. IFile.refreshlocal() 함께 시도해 보면 파일이 잠겨 있다는 오류가 발생 했습니까?이클립스 저장시 내용을 변경하십시오.
2
A
답변
1
기사가 될 수 있습니다 "How You've Changed! Responding to resource changes in the Eclipse workspace"
당신은 스레드 안전한 방식으로 작업 공간의 리소스에 액세스해야합니다. 당신이IWorkspaceRunnable
(이전) 또는
WorkspaceJob
(새)의 외부 자원 변경하는 경우
(this post에서), 즉, 귀하의 "잠금"메시지의 원인이 될 수 있습니다 : 작업 영역 언제든지 수정할 수 있습니다.
WorkspaceJob
안에 리소스 변경을 배치하면 다른 스레드와의 잠금 문제를 방지 할 수 있습니다.
리소스 뷰 트리를 업데이트하거나 refreshLocal()
을 실행할 필요가 없습니다. WorkspaceJob
, 모두 잘되면, 당신을 위해 그것을 처리 할 것입니다.
WorkspaceJob
에 대한 자세한 내용은 "On the Job: The Eclipse Jobs API"문서를 참조하십시오. 스케줄링 규칙이 작업 공간 루트 자체 또는 작업 공간에 포함 된 자원의에 대한 다른 thread에 의해 보관 유지되고있는 경우
이 실행되지 않습니다.
[...]
우리의 일
이 작업이 실행되면이 예에서 작업이 완료 될 때까지 다른 스레드가 위에서 언급 한 자원에 대한 규칙을 얻을 수 없습니다.
관련 문제
- 1. 이클립스 저장시 ant 배포 스크립트 실행
- 2. XULRunner에서 브라우저의 내용을 변경하십시오.
- 3. SelectList의 내용을 변경하십시오.
- 4. iframe의 내용을 동적으로 변경하십시오.
- 5. 티타늄 이전 창보기의 내용을 변경하십시오.
- 6. wpf에서 런타임에 버튼의 내용을 변경하십시오.
- 7. matplotlib 플롯의 내용을 동적으로 변경하십시오.
- 8. 다른 셀에서 셀의 내용을 변경하십시오.
- 9. 플렉스 : 내용을 감싸기 위해 컨테이너 크기를 변경하십시오.
- 10. Perl 스크립트를 통해 XML 파일 내용을 변경하십시오.
- 11. 모니터 해상도에 따라 사이트의 전체 내용을 변경하십시오.
- 12. 생성 후 Android 대화 상자의 내용을 변경하십시오.
- 13. 안드로이드 시스템 전체에 표시되는 내용을 변경하십시오.
- 14. Eclipse에서 저장시 외부 앱 실행
- 15. Azure 저장 - 저장시 무시되는 소수점
- 16. 이클립스 플러그인 - 이클립스 프로젝트 목록 및 그 내용을 마법사로 가져 오기
- 17. 저장시 이미지 크기 변경
- 18. TinyMCE는 저장시 스타일을 추가합니다
- 19. 저장시 개체 업데이트
- 20. 레일은 저장시 해시를 자릅니다.
- 21. 이클립스 이클립스 플러그인 개발
- 22. 이클립스 이클립스 검색
- 23. 파괴자와 이클립스 - 커밋 후, 여전히 아웃 바운드 변경 내용을 보여줍니다.
- 24. 이클립스
- 25. 이클립스
- 26. 이클립스
- 27. 이클립스
- 28. 이클립스
- 29. 이클립스
- 30. 이클립스