대용량 프로젝트의 uses-clauses에 단위를 추가하는 것이 어렵 기 때문에 특정 종류의 코드 정리 및 리팩토링이 매우 어려워졌습니다.프로젝트의 모든 유닛의 uses 절에 단위를 추가합니까?
하나의 프로젝트에서 모든 delphi .pas 단위의 interface-uses-clause에 단위를 추가하고 싶습니다. 이는 500 개 이상의 장소에서 수동으로 수행하는 것을 의미합니다. 거대한 단위를 리팩토링하고 한 단위에서 두 단위로 나눌 때마다 "메모장 ++"와 같은 것을 사용하여 "MyOldUnit", "MyOldUnit, MyNewUnit"으로 검색하고 바꿀 수는 있지만 때로는 안전하지 않습니다. . 또한 "MyOldUnit"이 uses 절의 마지막 항목 인 경우 ("MyOldUnit 사용")가 누락됩니다.
어쨌든 파일을 검색하고 바꾸는 것은 위험한 일입니다. 그런 도구가 없다면 Castalia delphi 파서를 사용하여 하나의 도구를 작성하려고합니다. 저는 GExperts, Castalia, ModelMakerCodeExplorer를 확인했으며 프로젝트의 모든 uses 절에 단위를 일괄 적으로 삽입 할 수있는 방법이 없습니다. 나는 이것을하기위한 도구가 존재하기를 바라고 있습니다.
두 번째로, 많은 경우에, 하나의 유닛이 다른 유닛에 속하지 않는 함수를 옮기고 있는데, 이것은 그 유닛을 프로젝트 유닛의 30 %에 추가해야한다는 것을 의미합니다. 이미 추가 된 %. 즉, 정규식 접근 방식이 아니라 파서 방식이 필요합니다.
가 (아주 오래된)있다'JclUsesWizard'는 JCL의 \ 전문가 \ useswizard는, 아마도 그것은 출발점으로 서비스를 제공 할 수있다. –
이것을 수행하기 위해 실제 파서가 필요하지 않습니다. Perl이나 Python을 사용하는 정규식 기반 스크립트 또는 정규식 스크립팅에 대해 좋아하는 모든 것. 강력한 파서를 원한다면 실제 파서가 필요 하겠지만 원 코드 애플리케이션을 사용하면 코드베이스를 원할 경우 그렇지 않다. –
아직 CnPack을 사용해 보셨습니까? – kobik