CDT에서 여러 개의 부적합한 함수 이름을 자동으로 이름 바꾸기하는 자동화 된 방법이 없습니다. 그러나 이러한 종류의 것들을 지적하도록 설계된 코드 분석 규칙이 있습니다. Eclipse Regex described in their online help을 사용합니다. 이것들은 Problems View에 "Information"레벨 마커를줍니다.
그들이 작동하는 방식은 각 함수 이름에 대해 정규식을 일치시키는 것이며 일치하는 항목을 반환하지 않으면 오류/경고/정보를 발생시키는 것입니다. "Window-> Preferences-> C/C++ -> Code Analysis"를 통해 액세스 할 수 있습니다. 스크롤 목록 (Eclipse Indigo에서)의 절반 정도입니다.
직접 두 번째 단락에 대답하기 위해, 이클립스는 가지고있는 가장 가까운이며, 펄의 \u
및 \l
의 해당이없는 (? ismd-ismd)을, 당신이 은 경우에 따라 일치를 켤 수있다.
불과 몇 함수 정의가
당신은 표준 리팩토링 이름 변경 도구를 사용할 수 있습니다 이름을 : 코드 분석 도구는 5 50000 오류를 반환하는 경우에 따라
. 함수 이름을 마우스 오른쪽 버튼으로 클릭하면 "Refactor-> Rename"이 해당 함수에 대한 모든 참조를 새 함수 이름 (다른 범위를 존중 함)으로 바꿉니다.
많은 많은 오류
이 같은 좋은하지 ...입니다. 메서드가 내장되어 있지 않으므로 외부에서 수행해야합니다. 내가 취할 수있는 첫 번째 방법은 거기에 기존 플러그인이 있는지 확인하는 것입니다.
코드 분석 도구를 사용하여 부적합한 함수 이름을 식별 한 다음 해당 출력을 사용자 지정 Perl 스크립트의 입력으로 사용하면됩니다. 당신은 몇 단계에 그것을 할 수 :
void FooBar(void) {}
int main(int argc, char *argv[])
{
FooBar();
return 0;
}
1)은 코드 분석을 실행하고 복사하여 텍스트 파일에 경고를 붙여 넣습니다
Bad function name "FooBar" (pattern /^(?-i:([a-z]+_[A-Z])|[a-z])(?i:[a-z]*)\z/) main.c /TestMultiThread line 47 Code Analysis Problem
2) 함수의 정의, fooBar()
변경 - ->FooBar()
, 위의 오류를 perl 스크립트의 입력으로 사용합니다 (잘못된 함수 이름, 파일 이름 및 행 번호가 있음을 유의하십시오).
3) 컴파일러 undefined reference to fooBar()
모든 참조 이름을 컴파일하고 출력을 사용
undefined reference to `FooBar' main.c /TestMultiThread line 50 C/C++ Problem
이 방법은 인해 정의 참조의 일부 목록을 제공 컴파일러 일부 짧은 오심을했을 컴파일은 'early'로 끝나며,이 경우에는 여러 번 실행해야합니다.
Refactor Scripts (Refactor -> Apply Script)에서보아야 할 또 하나의 것은 내가 본 것에서부터 당신이 원하는대로 할 것이라고 생각하지 않습니다.
전체적으로 Eclipse CDT의 리팩토링 도구가 Java에 대한 것만 큼 강력하지 않은 것으로 나타났습니다. 그래도 메모장에있는 것보다 훨씬 낫습니다. (CDT를 강타하지 않고 멋진 개발 환경입니다.)
아, 당신은 함수가 아니라 변수입니다. 내 잘못이야. 더 자세히 읽어야합니다. 코드 분석 기능을 간략하게 살펴보면 변수에는 해당하지 않습니다. 그래서, 나는 외부의 해결책을 들여다 보았다. 린트를위한 몇 가지 플러그인이 있습니다. 린트를 들여다 보았습니까? – chrisb
나는 아직 린트를 보지 못했지만 이것은 시작하기에 좋은 곳입니다. 감사. –