C / C ++ / Java / Emacs Lisp / Python을 작성하는 경우 semantic-sticky-func-mode 가 원하는 작업을 수행합니다.
참고 : 이것은 현재 Emacs 24.4에있는 CEDET가 아닌 Git의 CEDET과 함께 작동하는 것 같습니다. 힘내에서 이맥스를 얻으려면 :
자식 클론 http://git.code.sf.net/p/cedet/git cedet
그리고 init 파일의 다른 모든 것보다 먼저 CEDET을로드하십시오.
(load-file (concat user-emacs-directory "/cedet/cedet-devel-load.el"))
(add-to-list 'load-path (concat user-emacs-directory "cedet/contrib"))
(load-file (concat user-emacs-directory "cedet/contrib/cedet-contrib-load.el"))
활성화되면이 모드는 현재 기능 버퍼가 현재 버퍼의 첫 번째 라인에 있음을 나타냅니다. 이 기능은 화면보다 더 긴 기능을 가진 매우 긴 기능이 있고 기능 이름을 읽기 위해 위로 스크롤하지 않아도 원래 위치로 스크롤 할 때 유용합니다.
그것은 표시 전체 기능 인터페이스 (리턴 타입, 함수 이름 및 매개 변수)뿐만 아니라 함수 이름을.
활성화하려면 다음 코드를 init 파일에 넣으십시오.
(require 'semantic)
(semantic-mode 1)
(global-semantic-stickyfunc-mode 1)
업데이트 : 전류의 문제 중 하나는 semantic-stickyfunc-mode
여러 줄에 흩어져있는 모든 매개 변수를 표시하지 않는다는 것입니다. 이 문제를 해결하기 위해 stickyfunc-enhance 패키지를 만들었습니다 .
데모 :
C의 데모는 다음과 같습니다.
다음은 Emacs Lisp의 데모입니다.
업데이트 : 또는 helm-semantic-or-imenu를 사용할 수 있습니다 . 함수 안에 있고 명령을 실행하면 커서가 목록의 함수에 바로 배치되므로 항상 전체 함수 인터페이스를 볼 수 있습니다. 데모:
먼저 helm-semantic-or-imenu
함수 helm-define-key-with-subkeys
로 이동하고 포인트를 이동합니다.
그런 다음 helm-semantic-or-imenu
다시 시작 하여 helm-define-key-with-subkeys
미리 선택됩니다.
그런 다음 점을 변수 helm-map으로 이동하고 helm-semantic-or-imenu
helm-next-source 및 helm-previous-source라는 두 가지 기능에서 다시 실행 합니다. 이번에는 현재 작동중인 현재 의미 체계 태그 (helm-map)를 표시하는 대신 Helm Semantic 버퍼의 다른 두 태그를 보여줍니다. 명령을 실행하기 전에 접두사 인수를 제공했기 때문입니다.
또한이 데모는 Emacs Lisp에 있으며 C / C ++에서도 작동하며 함수 인터페이스가 길면 더 유연합니다.