[Ubuntu] Ubuntu Sublime text 설치하기

Sublime text 설치 후 셋팅하는 방법을 설명한다.


SublimeText3

1. sublime text 설치하기

sublimetext 에서 다운로드 후 설치
ppa 이용한 설치 방법
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer

2. Project 를 위한 패키지 구성

Package Control 설치

메뉴 View -> Show Consol (Ctrl+`) 실행후 console 창을 열어서 아래의 명령어 입력후 에디터 재시작 Sublime text 버전에 따라 다르게 입력

Sublime Text 2

import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')

Sublime Text 3

import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

YcmdCompletion 패키지

1. YcmdCompletion 설치
2. Ycmd server 설치
git clone https://github.com/Valloric/ycmd.git
cd ycmd
git submodule update --init --recursive
./build.py --all
3. YcmdCompletion 설정
HMAC key 생성

Command Pallete (Ctrl+Shift+p) -> Ycmd: Create HMAC keys

Sublime Text의 Ycmd Completion 설정

Preferences -> Package Settings -> YcmdCompletion -> Settings - Default 클릭 후 YcmdCompletion.sublime-settings 파일의 주석 처리된 부분을 풀어서 다음과 같이 입력

{
    "ycmd_server": "http://127.0.0.1",
    "ycmd_port": 8080,
    "HMAC": "위에서 생성한 HMAC key",
    "use_auto_start_localserver": 1,
    "ycmd_path": "/home/USERNAME/ycmd/ycmd",
    "languages": ["cpp", "python"],
}
Sublime Text의 Syntax Specific 추가

Preferences -> Settings - More -> Syntax Specific - User 클릭 후 C++.sublime-settings에 다음 내용 추가(c++ 프로젝트 혹은 파일을 열었을 때 C++.sublime-settings을 열 수 있다.

{
    "auto_complete_selector": "source - (comment, string.quoted)",
    "auto_complete_triggers": [ 
        {"selector": "source.c++", "characters": "."},
        {"selector": "source.c++", "characters": "::"},
        {"selector": "source.c++", "characters": "->"} 
    ]
}
Sublime project 생성하기
cd build
cmake . -G "Sublime Text 2 - Unix Makefiles"

project의 root의 CMakeLists.txt에 다음 항목 추가

set(CMAKE_EXPORT_COMPILE_COMMANDS "ON")
set(CMAKE_GENERATOR "Unix Makefiles" CACHE INTERNAL "" FORCE)
set(CMAKE_EXTRA_GENERATOR "Sublime Text 2" CACHE INTERNAL "" FORCE)
Ycmd default_settings.json 파일 설정

위에서 복제한 ycmd server directory에서 default_settings.json 파일 내용 중 아래 부분 변경

  "global_ycm_extra_conf": "/home/ycmd/ycmd/.ycm_extra_conf.py",
  "confirm_extra_conf": 0,
  "hmac_secret": "위의 HMAC key 입력",
.ycm_extra_conf.py 파일 설정하기
compilation_database_folder = os.path.expanduser("~/projects/naver/build")
YCM-Generator 이용해서 .ycm_extra_conf.py 만들기

YCM-Generator를 github repository로부터 복제

git clone https://github.com/rdnetto/YCM-Generator.git

프로젝트 디렉토리에 .ycm_extra_conf.py 만들기

cd YCM-Generator
./config_gen.py 프로젝트디렉토리

위의 프로그램을 수행하면 프로젝트디렉토리의 root에 .ycm_extra_conf.py파일이 생성됨