emacs에 다른 파일에 정의 된 경우에도 사용자가 함수 선언으로 이동할 수있는 함수 또는 라이브러리가 있습니까?
그렇다면 어떤 언어를 지원합니까?
이 질문에 대한 영감은 emacs가 결코 IDE와 경쟁 할 수없는 몇 가지 이유를 설명하는 아래 기사에서 비롯됩니다.
http://henrikwarne.com/2012/06/17/programmer-productivity-emacs-versus-intellij-idea/
emacs에 다른 파일에 정의 된 경우에도 사용자가 함수 선언으로 이동할 수있는 함수 또는 라이브러리가 있습니까?
그렇다면 어떤 언어를 지원합니까?
이 질문에 대한 영감은 emacs가 결코 IDE와 경쟁 할 수없는 몇 가지 이유를 설명하는 아래 기사에서 비롯됩니다.
http://henrikwarne.com/2012/06/17/programmer-productivity-emacs-versus-intellij-idea/
답변:
Linux 커널 소스 트리 (36k 이상)에 이르는 전체 프로젝트의 정의 / 참조로 즉시 이동할 수 있습니다. 자세한 내용은 C / C ++ 안내서 를 참조하십시오. C / C ++의 경우 C, C ++, Yacc, Java, PHP4 및 어셈블리를 지원 하는 GNU Global 을 사용하는 것이 좋습니다 .
핵심은 언어의 IDE 기능을 사용하려면 해당 언어의 플러그인을 설치해야한다는 것입니다. 내가 아는 동적 언어 패키지는 다음과 같습니다.
js2-mode
에 관해서 는 설명을 참조하십시오 . 그러나 본질적으로 js2-mode
적절한 IDE 기능을 수행하기 위해 AST를 생성하는 완전한 Javascript 파서입니다. 기본적으로 설치 한 skewer-mode
것보다 설치하는 경우 js2-mode
기본 설치 보다 skewer-mode
다릅니다.
- 메소드 정의로 이동
- 수퍼 또는 지점에서 생성자로 이동
- 하나 이상의 메소드가 정의되어있는 경우 모듈 또는 클래스로 이동
- 디스플레이 방법 문서
- ElDoc을 사용하여 지점에서 호출 된 메소드에 대한 정보 표시
- 방법 및 상수 이름 완성
ctags
쉘 스크립트 또는 Tcl과 같은 광범위한 언어를 지원 하는 데 사용할 수도 있습니다 .
emacs와 비슷한 문제가 발생하여 Dumb Jump 만들었습니다 . 허용 된 답변에 언급 된 많은 솔루션을 시도했지만 항상 다음 문제 중 하나 이상이 발생했습니다.
"잘 작동하는"솔루션을 원했고 사용자 지정이나 설정이 필요하지 않았습니다. 즉, Github에서 임의의 저장소를 복제하고 다른 프로젝트처럼 탐색하고 싶습니다.
현재 Dumb Jump 는 다음을 기본적으로 지원합니다.
그것은이다 MELPA를 통해 사용할 수 와 GitHub의 문제와의 PR을 환영합니다 이상입니다.
emacs에서이를위한 기본 솔루션은 etags 또는 gtags와 같은 프로그램으로 작성된 TAGS 파일을 사용하는 것입니다. 나는 검색 기호가 여러 대상에있을 때 목적지를 좁히는 데 도움이되는 풍부한 ctags 및 etags-select.el을 사용하고 권장합니다. 지원되는 언어는 매우 많으므로 개별 도구 설명서를 참조하십시오. 자신의 언어를 추가 할 수도 있습니다. 따라서 ctags에 관심있는 태그를 분리하는 방법을 지시하는 정규식을 제공 할 수 있습니다.
ctags -e -R *
루트 디렉토리에서 설정합니다.
irony-clang
이쪽을 확인하십시오 . 기사에 대한 의견을 읽었습니까?