2016-07-16 2 views
2

저는 Vim jedi 플러그인을 살펴보기 시작했습니다. 꽤 인상적으로 보입니다. 필자가 사용했던 일부 Java IDE의 기능 중 하나는 필수 가져 오기를 자동으로 추가하는 기능입니다. 제다이가 그렇게 할 수 있습니까? 나는 같은jedi-vim으로 import 문을 삽입 할 수 있습니까?

arg1 = sys.argv[1] 

다음 몇 가지 제다이 명령을 호출 한 줄을 입력하면 예를 들어, SYS 이미되지 않는 경우 플러그인이 자동 (소스 파일의 상단에 import sys 줄을 삽입하는 것이 가능하다 수입)?

나는 제다이 도움을 봤는데 이것처럼 보이지 않는다. 그러나 나는 뭔가를 놓친 것이 가능하다. 또는, 이것을 할 수있는 다른 Vim 플러그인이 있습니까? (필자가 올바르게 할 수 있도록 파이썬 구문을 어느 정도 이해해야하므로 필자는 Jedi가 그것을 수행 할 수 있다고 생각했다.)

답변

1

현재 제다이는 리팩토링을하지 않습니다. 여기에는 수입품 추가가 포함됩니다. 전체 주제에 대해 문제가 있습니다 : https://github.com/davidhalter/jedi/issues/667.

좋은 성능으로이 명령을 구현하는 것이 쉽지 않습니다. 그러나 어떤 도움을 주셔서 감사합니다. :)

0

FIY, 나는 주문형 lh-dev에서 사용할 수있는 일반 가져 오기 기능을 정의했습니다. 내 C & C++ 제품군에서 사용하고 내 snippet engine (mu-template)에서 사용합니다.

지금까지 필자는 누락 된 import/include 문을 추가하기 위해 구문 분석을하지 않았습니다. Dave가 말한 것처럼이 부분은 복잡 할 것입니다. 대신 내 스 니펫은 가져 오기/포함해야 할 파일을 알고 가져 오기/포함하지 않은 경우 가져 오기/포함해야합니다.

완벽한 것은 아니지만 시작일뿐입니다. mu-template은 스 니펫이 확장 된 후 파일의 시작 부분에서 물건을 수행 할 수있는 훅을 제공합니다. 여기서는 lh-dev 함수를 호출합니다. 다른 스 니펫 엔진이 유사한 후크를 제공하는 경우 스 니펫에서 lh#dev#import#add()으로 전화를 걸 수 있습니다.

다음

파이썬에 대한 개념 조각의 증거 (그것을위한 파이썬에서 나는 드물게 프로그램 및이없는 많은 조각) : https://github.com/LucHermitte/mu-template/blob/master/after/template/python/path-exists.template

관련 문제