본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

CEDET란?

by 3604 2023. 12. 6.
728x90
 
 
 
CEDET란?
 
CEDET Emacs에서 고급 개발 환경을 만들기 위한 최종 목표에서 작성한 Emacs 개발 환경 도구 모음(Collection of Emacs Development Environment Tools)입니다. CEDET Source Forge에서 주관하며 Free Software입니다. Source Forge에서 CEDET CVS 아카이브, 프로젝트 요점, 그리고 메일링 리스트를 볼 수 있습니다.
왜 CEDET가 필요한가?
이미 Emacs는 소프트웨어를 작성하기 위한 최상의 환경이지만, 개선이 필요한 추가적인 영역이 있습니다. 통합환경에 대한 많은 새로운 아이디어가 Microsoft Visual environment, JBuilder 또는 Eclipse와 같은 새로운 제품에서 개발되었습니다. CEDET는 개발자들이 편집기(Editor)에 있었으면 하는 여러가지 고급 기능들을 구현하는 프로젝트입니다.
CEDET: 사용자 뷰
그렇다면, Emacs 사용자는 CEDET에서 무엇을 얻을 수 있을까? CEDET는 다음과 같은 사용자 기능들을 가지고 있습니다:
 
Projects
 
CEDET 프로젝트 관리 시스템 Makefiles 만들기 또는 Automake 파일, 그리고 소스 컴파일하기, 파일을 편성하기 위한 몇가지 간단한 키입력을 제공합니다.
만약 CEDET가 여러분의 Makefile을 관리하는 것을 원하지 않는다면, CEDET Emacs 소스, Linux kernel, 또는 Automake를 사용해서 생성하는 임의의 프로젝트와 같이, 여전히 이미 있는 생성 환경을 기반으로 하는 프로젝트의 어떤 유형을 구분할 수 있습니다.
전체 CEDET Makefile tree CEDET의 프로젝트 관리 시스템으로 생성되었기 때문에, 다운로드하고 배포 패키지를 생성(build)하면, CEDET 프로젝트를 사용할 수 있게 됩니다.
아래 이미지 는 프로젝트 관리 메뉴의 일부를 보여줍니다.
 
 
Project 기초
 
CEDET를 위한 프로젝트 시스템은 EDE 또는 “Emacs Development Environment”라고 부르는 도구로 구현됩니다. EDE 도구는 1997년에 시작되었고 많은 CEDET 기능들의 중심축입니다. 이 단원은 EDE를 살펴볼 것입니다.
CEDET 설치에 global-ede-mode를 활성화하는 주요 이유는 CEDET 제품군의 다른 툴들이 프로젝트의 경계를 식별 할 수 있도록하기 위해서입니다. 특히, smart completion 시스템과 Symref 시스템은 원하는 결과를 제공하기 위해 모든 소스 코드를 찾을 수 있어야만 합니다.
 
makefiles을 생성시키기 위한 EDE 사용
 
 
 
만약 소스코드의 모든 빌드 관리를 하는데 EDE를 사용하고 싶다면, 그리고 프로젝트가 C/C++ , Emacs Lisp 코드, 그리고 textinfo 문서로 만들어졌다면, 운이 좋은 것입니다. 다음 명령으로 시작하십시오.
M-x ede-new RET
그리고 Makefile 또는 Automake 기반의 프로젝트를 선택하십시오. 그 다음 다음과 같이 할 수 있습니다.
M-x ede-new-target RET
Makefile 타겟을 만들고 프로젝트에 소스파일을 추가하기 시작합니다. 프로젝트 메뉴를 사용해서 makefiles을 생성하고 소스를 빌드합니다.
알려진 프로젝트 유형을 마무리하기 위해 EDE 사용
Emacs, Linux에 대한 코드를 작성 중이거나 직접 작성한 Automake 파일을 사용하는 프로젝트가 있는 경우, 운이 좋은 것입니다. EDE global 모드를 확성화 하기만 하면 됩니다. EDE는 그런 프로젝트 유형을 자동 감지하고 EDE 구조가 필요한 다른 기능을 사용할 수 있도록 자체 환경구성을 합니다.
사용자 지정 스크립트로 프로젝트를 마무리하기 위해 EDE를 사용
만약 사용자 정의 빌드 시스템 또는 기본적으로 EDE를 지원하지 않는 시스템에서 작업하는 경우, 간단한 EDE wrapper에서 프로젝트를 마무리해야 합니다.
C 또는 C++ 프로젝트를 위한, 사용자 정의 프로젝트가 있다면, ede-cpp-root 를 호출해서 사용할 수 있습니다. .emacs 파일에서 이 프로젝트를 사용자 설정할 수 있습니다.
다음에 간단한 예문이 있습니다:
 
(ede-cpp-root-project "NAME" :file "FILENAME" :include-path '( "/include" "../include" "/c/include" ) :system-include-path '( "/usr/include/c++/3.2.2/" ) :spp-table '( ("MOOSE" . "") ("CONST" . "const") ) :spp-files '( "include/config.h" ) )
EDE는 파일 시스템에 있는 파일들을 그것의 project에 연결(anchor)하는 것과 같아서, Makefile와 같은, 여러분의 프로젝트에 실제 파일로 FILENAME을 설정해 주어야 합니다 남아있는 슬롯은 선택적이지만, 특정 include path 또는 pre-processor 테이블을 지정할 수 있습니다. 이 경우에 “spp C preprocessor 명령을 구문분석하기 위한 도구인, "Semantic PreProcessor"의 약자입니다.
스마트 완성기능
Intellisense”라고도 하는 스마트 코드 완성기능으로 코드를 작성하십시오. 소스 코드 분석(analyzing) 그리고 파일 구문 분석(parsing), 표식달기(tagging)을 위한 기반인 CEDET는 어디서나 C++을 위한 가장 정밀한 완성 도구 중 하나입니다. 이것은 정확하게 상속 범주 규칙(scoping rules), smart-pointers, 그리고 대입될 값이 무엇인가에 따라 자동적으로 필터합니다.
코드 완성은 C 또는 C++에만 국한되지 않습니다. 완전한 엔진은 일반적이고 언어에 대한 얇은 적응 레이어(adaptation layer), CEDET 용으로 작성된 강력한 태깅 파서를 가져 어떤 언어에서도 동작합니다. 만약 여러분의 언어가 지원되는지를 보고 싶다면 지원 언어 페이지를 보십시오.
아래 이미지는 템플릿 스마트 포인터를 살펴보는 CEDET에 단위 실험용 소스 파일에서 팝업 메뉴 사용으로 구성된 스마트 완성(smart completion)기능을 보여줍니다.
 
 
스마트 도움말/점프
 
스마트 도움말(smart help)은 가리키는 지점에 변수(variable) 또는 메서드(method)의 원형(prototype)을 보여줍니다. 스마트 완성에서와 같이, 템플릿과 스마트 포인트를 통해서 데이터타입을 역참조함으로써 정확한 원형(prototype)을 유도하여, 지점아래 메서드를 정확하게 구분할 것입니다.
스마트 점프 기능은 항상 정확한 위치로 가는 것을 제외하면, 클래식 Emacs TAGS 기능과 비슷합니다. 메소드 이름에 TAGS를 사용하면 원하는 이름을 가진 메서드를 찾기 위해 동일한 이름을 가진 가능한 모든 메서드들 전부를 스캔하게 하게 합니다. CEDET 스마트 점프 기능을 사용하면 처음으로 만나는 올바른 정의로 이동합니다.
심볼 참조
코드 기반에서 심볼이 참조되는(Symbol References) 곳을 분석합니다. CEDET에서 심볼 참조 도구는 심볼들의 사용 위치를 위해 GNU Global, ID Utils, Cscope, 또는 심지어 find/grep와 같은 외부 도구를 사용할 수도 있습니다. 모든 위치는 분석되어 평범한 위치 목록 대신에, 참조가 발생하는 파일과 함수가 계층적으로 보이도록 표시합니다. 아래 이미지는 GNU Global 소스 코드에서 실행중인 GNU Global와의 통합을 보여줍니다.
 
코드 생성
 
강력한 언어 독립 템플릿 시스템으로 코드를 생성합니다. CEDET에서 템플릿 시스템은 코드를 만드는 응용프로그램 개발자들을 위해 디자인된 framework입니다. 비록 그렇지만, 베이스 시스템과 템플릿들은 또한 작은 반복적인 코드 블록들을 삽입하기 위해 사용될 수 있습니다. 템플릿 언어는 간단하고 유연합니다. 스마트 완성기능과 같은 코드 분석을 사용하기 때문에, 여러분이 입력하는 것을 저장해서, 템플릿에서 사용되는 다양한 값을 정확하게 추측 할 수 있습니다.
CEDET의 코드 생성 시스템을 사용하는 일부 기존 툴은 texinfo 문서를 작성하는 것과, 로컬 컨텍스트를 가지고 완전히 채워넣은 doxygen 스타일 주석을 만들거나 또는 class에 변수들에 대한 get/set 메서드를 삽입하는 것입니다.
아래 이미지는 빈 버퍼에 삽입된 간단한 class 선언을 보여줍니다.
 
 
UML 다이어그램
수작업으로 UML 다이어그램을 만들거나, 소스에서 간단한 3 계층 클래스 다이어그램을 자동으로 생성합니다. 다이어그램은 소스 코드에 링크되어 있으므로 UML의 편의성을 이용해 코드 전체를 신속하게 탐색 할 수 있습니다.
아래 이미지는 ‘COGRE’라는 부르는, 자신을 탐색하며 다이어그램을 보여주는, CEDET UML 도구의 소스 코드를 보여줍니다. 유니코드 문자 지원을 선택하면 특수 문자 사용이 가능합니다.
고급 코드 탐색
CEDET 백엔드 파싱과 함께, ECB 같은 고급 코드 탐색 도구가 사용될 수 있습니다. ECB 또는 Emacs Code Browser는 여러분의 Emacs frame에 도킹된 UI 윈도우의 고급 세트를 제공합니다. 보조 윈도우는 다음과 같은 것을 포함하는 폭넓은 범위의 기능들을 제공합니다.:
■ 현재 파일에 함수, 클래스 그리고 메서드의 목록.
■ 코드 분석기/완성 목록
■ 현재 정의 디스플레이
■ 디렉터리 트리,
■ 현재 디렉터리에서 소스 파일의 목록
■ 최근에 방문한 파일들의 이력
■ 그리고 그 밖의 많은 것들
아래쪽에 ECB 이미지는 (전체 크기로) ECB의 예를 보여줍니다. ECB CEDET의 일부가 아니며 따로 다운로드해서 설치되어야 합니다.
 
CEDET 설치와 환경설정
CEDET와 같이 크고 복잡한 도구를 설정하는 것은 어려워 보일 수 있습니다. 다행히, 최소 CEDET 초기화는 여러분의 .emacs 파일에 단지 몇 줄의 코드를 넣어줌으로써 할 수 있습니다. 만약 용기가 있고 이 지나간 CEDET를 사용자설정하는 것을 즐긴다면, 어떤 제정신인 사람이 원하는 것보다 더 많은 옵션과 함께 놀 수 있는 작은 기능들로 행운을 누릴 수 있습니다.
알렉스 오트(Alex Ott)는 간단한 CEDET 환경설정 과정, 그리고 영리한 방식으로 프로그래밍을 하기 위한 Emacs를 조절하는데 도움을 주는 다양한 사용자설정들을 모두 보여주는 CEDET에 대한 젠틀한 소개라는 굉장한 기사를를 썻습니다.
아래 그림은 CEDET 내부 패키지와 개정판 검토 출력을 보여줍니다. 필요한 모든 패키지 개정판을 정확하게 확인하는 것은 중요하며 완전히 자동입니다.
 
CEDET에 기여하기
많은 면에서, CEDET는 얇은 사용자 인터페이스가 얹혀 있는 인프라의 큰 기둥입니다. 더 나은 또는 더 많은 사용자 인터페이스 도구를 만들기 위해 인프라를 사용하여 CEDET를 돕는 것을 고려하십시오. 다른 언어에 대한 지원을 추가하여 도움을 줄 수 있습니다. 자세한 내용은 cedet-devel 메일 링리스트에 가입하십시오.
CEDET 다운로드하기
모든 CEDET 도구들은 쉽게 설치하기 위해 단일 배포 파일로 사용 할 수 있습니다.
최신 안정 배포판: CEDET 1.1
cedet-1.1.tar.gz를 사용해 보십시오.
CEDET 1.1 1.0.1의 모든 보안 수정 사항, 여러가지 버그 수정, 그리고 Java, Android  Arduino 프로그래밍을 지원하는 새로운 추가 기능들이 포함되어 있습니다!
CEDET 1.1에 대한 우리의 목표는 현재의 설치 및 파일 구성 체계를 사용하는 LAST 릴리스가 될 것이라는 것입니다. 또한 Emacs 22를 지원하는 마지막 릴리즈가 될 것입니다! 앞으로 출시 될 버전은 Emacs 24와 호환되는 새로운 파일 시스템 체계를 사용할 것입니다.
CEDET 1.1을 생성한 후, 메일 링리스트에 가입하고 CEDET를 개선하는 데 도움을 주십시오.
이전 안정 배포판: CEDET 1.0.1
이전 안정 릴리스는 cedet-1.0.1.tar.gz입니다. Emacs 21 또는 22.1과 같은 이전 버전의 Emacs에는 CEDET 1.0.1이 필요합니다.
이 보안 배포판에 관해:
CEDET 1.0 EDE로 프로젝트 파일을 읽어들이는 것과 관련하여 보안 문제가 있습니다. CEDET 1.0을 사용하는 경우, 이 문제를 해결하려면 CEDET 1.0.1로 업그레이드하십시오. CEDET가 내장 된 Emacs 23.3을 사용하는 경우에는 Emacs 23.4 이상으로 업그레이드하거나 패치를 적용하거나 CEDET 1.0.1로 업그레이드하십시오.
CEDET 개발
버그를 찾았나요?
만약 CEDET 릴리스에서 문제를 마주했다면, 그 문제는 이미 Git!에서 수정되었을 수 있습니다! CEDET에는 이러한 문제를 신속하게 파악하고 해결하는 데 도움이되는 적극적인 사용자 커뮤니티가 있습니다. 메일링 리스트 아카이브를 확인하거나 Git 버전을 직접 사용해 볼 수 있습니다. Git에서 CEDET를 사용할 때 Emacs 24와 더 호환되도록 새로운 파일 및 설치 계획으로 전환하고 있음에 유의하십시오.
 
Emacs 버전 지원:
 
CEDET 1.0.1  1.1 *에는 두 개의 자동화 된 생성 처리가 있는데, 하나는 Make를 사용하고 다른 하나는 Emacs를 시작하고 빌드 명령을 실행하는 것입니다.
다음 표는 CEDET 1.1의 릴리스에 대해 수행 된 자동화 된 테스트를 보여줍니다.
 
Emacs 21: CEDET 종합 테스트는 실패하지만 거의 대부분은 여전히 CEDET 1.0.1에서 작동합니다.
XEmacs: 빌드 프로세스는 XEmacs 21.4에서도 작동하지 않습니다. 그것의 일부를 수작업으로 제작하여 작동시킬 수도 있습니다.
SXEmacs: 우리는 SXEmacs를 지원하기 위해 패치를 통합했지만 우리 스스로 테스트하지는 않았습니다. CEDET의 일부가 설치되어 작동하는 것으로 보고되었습니다.
Windows XP/7 : 만약 cygwin이 없다면 , cedet-build.el 스크립트를 사용하여 CEDET를 빌드해야 합니다.
CEDET 설정
CEDET만큼 크고 복잡한 도구를 설정하는 것은 어려울 수 있습니다.
다행스럽게, 최소한 CEDET 초기화는 여러분의 .emacs 파일에 단지 몇줄만을 추가해서 할 수 있습니다. 만약 용기가 있고 이 지나간 CEDET를 사용자설정하는 것을 즐긴다면, 어떤 제정신인 사람이 원하는 것보다 더 많은 옵션과 함께 놀 수 있는 작은 기능들로 행운을 누릴 수 있습니다.
알렉스 오트(Alex Ott)는 간단한 CEDET 환경설정 과정, 그리고 영리한 방식으로 프로그래밍을 하기 위한 Emacs를 조절하는데 도움을 주는 다양한 사용자설정들을 모두 보여주는 CEDET에 대한 젠틀한 소개라는 굉장한 기사를를 썻습니다.
아래 그림은 CEDET 내부 패키지와 개정판 검토 출력을 보여줍니다. 필요한 모든 패키지 개정판을 정확하게 확인하는 것은 중요하며 완전히 자동입니다.
 
기본 설정
1 단계
SourceForge 다운로드 페이지에서 CEDET를 다운로드 합니다. 이 페이지의 왼쪽 사이드바에서 버전을 선택합니다.
2 단계
좋아하는 도구를 사용하여 새로운 Emacs Lisp 패키지를 설치할 좋은 장소에 CEDET를 풀어 넣습니다.
.tar.gz 파일은 모든 소스에 대해, VERSION이 여러분이 다운로드한 패키지의 버전인, cedet-VERSION/이라는 디렉토리를 자동으로 작성합니다.
3 단계
 
CEDET 생성. Linux와 같은 unix 기반 시스템에서, make를 사용해서 그일을 할 수 있습니다.
make EMACS=emacs
만약 Windows에 있고 또는 어떤 이유로 make가 없다면, CEDET가 자체 부트스트랩을 하도록 강제하는 CEDET의 내장 프로젝트 관리 시스템을 사용할 수 있습니다. 다음과 같이 빌드 프로세스를 시작할 수 있습니다:
cd cedet-1.0pre6 emacs -Q -l cedet-build.el -f cedet-build
빌드 프로세스에 대한 자세한 내용은 CEDET 배포판의 루트에있는 INSTALL 파일을 참조하십시오.
4 단계
.emacs 파일에 다음과 같은 코드를 추가하여 CEDET을 설정하십시오 :
(load-file "~/cedet-1.0pre6/common/cedet.el") (global-ede-mode 1) ; 프로젝트 관리 시스템 활성화 (semantic-load-enable-code-helpers) ; 함수원형 도움말 및 스마트 완성기능 활성화 (global-srecode-minor-mode 1) ; 템플릿 삽입 메뉴 활성화
더 간단한 구성 옵션에 대해서는 CEDET 배포판의 루트에있는 INSTALL 파일을 참조하시기 바랍니다.
5 단계
아직 혼돈되나요?
알렉스 오트(Alex Ott)는 간단한 CEDET 구성 과정과 똑똑한 방법으로 프로그래밍하기 위해 이맥스를 조정하는 데 도움이되는 다양한 사용자 정의를 모두 보여주는 CEDET에 대한 가벼운 소개라고 하는 멋진 기사를 작성했습니다.

 

관련 정보

https://cedet.sourceforge.net/setup.shtml

728x90
반응형

'컴퓨터 활용(한글, 오피스 등) > 기타' 카테고리의 다른 글

Toad for 오라클 주요 버전별 OS, DB 지원 내역  (0) 2023.12.13
Drupal 8 설치  (1) 2023.12.09
Emacs를 위한 자바 개발 환경 (JDEE)  (0) 2023.12.06
Starting Plink  (0) 2023.12.06
Emacs Tramp ssh  (1) 2023.12.06