2013-09-26 2 views
1

Intellij에서 Python 코드에 대한 사용자 지정 검사를 만드는 방법이 있습니까? 어떤 사람이 가져 오거나 입력 할 때마다 경고를 던질 수 있도록 파이썬 함수를 블랙리스트에 올릴 필요가 있습니다.Intellij에서 사용자 지정 파이썬 검사 만들기

+0

1 년 후, 나는 더 나은 진전을 보이는 [다른 질문] (https://stackoverflow.com/questions/27050352/disallow-strftime-in-a-code-base)을 작성했습니다. – mlissner

답변

4

IntelliJ 용 JavaScript 플러그인에 대한 경험이 있지만 파이썬에서도 똑같이 작동합니다.

검사를 제공하는 플러그인을 작성할 수 있습니다. 물론 학습 곡선이 있지만 일단 환경 설정을하면 꽤 부드럽습니다.

먼저 the plugin development page from JetBrains을 확인해야합니다. 다음 단계를 수행합니다.

  • IntelliJ IDEA Community Edition source을 다운로드하십시오. 필수는 아니지만 소스를 검색하는 것이 유용합니다.
  • basic plugin tutorial을 따르십시오. 자바 플러그인이지만 좋은 시작입니다. 파이썬의 경우 플러그인 항아리에 의존성을 추가해야 할 수도 있습니다.
  • 사례에 따라 다릅니다 (read up on PsiElements). PsiElements를 사용하는 것은 소스 코드를 탐색하고 수정하는 방법입니다.
  • 실질적인 예를 보려면 browse the plugin repository을 열고 오픈 소스 플러그인을 찾아보십시오. 내 플러그인을 개발할 때 가장 도움이되는 것으로 나타났습니다.

끝나면 플러그인 작성을 시작할 수 있습니다. 검사를 위해 걱정할 몇 가지 수업이 있습니다 :

  • 는 파일을 검색하고 문제를 표시하는 실제 검사입니다. 이 클래스를 확장합니다.
  • InspectionToolProvider은 파일에서 특정 검사를 실행할 것인지 결정하기 위해 구현하는 인터페이스입니다.
  • ProblemDescriptor은 오류 메시지를 나타내는 클래스입니다. 선택적으로 문제의 요소를 제거하기위한 수정 사항을 제공 할 수 있습니다.

원본 파일을 나타내는 PsiFile이 표시됩니다. 이를 사용하여 문제의 기능을 검색하고 오류로 플래그를 지정할 수 있습니다.

마지막으로 환상적인 리소스는 plugin development forum입니다. 일반적으로 개발자 중 한 명은 다른 사람이 귀하의 질문에 답변하지 않는 경우 응답하므로 거기에 게시하는 것을 주저하지 마십시오.