2011-05-12 3 views
2

Intellij IDEA에서 반복되는 편집 작업을 자동화하는 방법은 무엇입니까? 나는 파일의 모든 B b을 대체하고 대신 null 매개 변수를 전달하고 싶은Intellij에서 반복 편집 작업 자동화

public static final Test1 = new Test(A a1, B b); 
public static final Test2 = new Test(A a2, B b); 
public static final Test3 = new Test(A a3, B b); 
public static final Test4 = new Test(A a4, B b); 

:

예를 들어 나는 다음과 같은 항목의 몇 수십 가진 파일이 있습니다. gvim과 같은 편집기에서 쉽게 수행 할 수 있으며 일반적으로 macro을 녹음하고 반복합니다. Intellij의 리팩토링 기능이 제한적인 자동화를 수행하는 일반적인 방법은 무엇입니까?

답변

3

패턴을 식별 할 수있는 경우 텍스트를 텍스트 패드 또는 이와 유사한 것으로 항상 복사 할 수 있으며 정규식을 바꾼 다음 텍스트를 다시 복사하십시오. 나는 그것을 아주 자주한다. (테스트 ([^,]) + ([^)] +)

  • 을 : 대화
  • 무엇을 찾기위한 대체 -

    1. F8을 -

      특정 예를 들어

      , TextPad를이 시도 교체 : 1 \ 널

    2. 확인 정규 표현식 확인란
  • +0

    내가 내 예는 난을 설명하기 위해 너무 간단 동의 IDEA의 structural search and replace 기능을 사용할 수 있습니다 ssue하지만 단순한 regex replace가 작동하지 않는 경우가 종종 있습니다. 생성자에서 인수를 리팩토링하고 다른 파일로 이동하여 다른 클래스의 구조로 전달하려는 경우 어떻게해야한다고 말합니다. 더 정교한 처리가 필요한 경우가 더 많습니다. 매크로는 어떤면에서 도움이되는 것처럼 보이지만 Intellij에서 기대하는대로 작동하지 않는 경우가 많습니다. 예, 일반 표현식은 일반 찾기보다 많은 작업을 수행하는 데 도움이됩니다. – Leonid

    +1

    사실 리팩토링을 사용할 수 없습니다. 그러나 메소드 서명/생성자 인수 등을 변경할 수는 있지만 동일한 서명을 유지하고 특정 호출에 대해 argumant 값을 변경할 수는 없습니다. 이것은 리팩토링이 아닙니다. –

    5

    수행 할 수 있습니다, 당신은 대체 할 열을 선택하고 당신의 null

    는 또한이 스크린 캐스트를 확인 입력 | 당신은 열 모드 편집 (메인 메뉴에서 열 모드 편집)로 전환 할 수 있습니다 키보드 매크로 레코더 사용

    enter image description here

    을 또는 당신은

    관련 문제