sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer
๋ฉ๋ด 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())
Sublime Text์์ Command Palette (Ctrl+Shift+P)์ฐฝ์ ์ด์ด์ 'Package Control : Install Pacakge' ์คํ ํ 'YcmdCompletion' ์ฐพ์์ ์ค์น
YcmdCompletion์ ๊ธฐ๋ณธ์ ์ผ๋ก Ycmd server๋ฅผ ์ด์ฉํด์ code-completion์ ์ํ. ycmd server๊ฐ ์ค์น ๋์ด์์ง ์์ผ๋ฉด ๋ค์ ๋จ๊ณ๋ก ycmd ๋ฅผ ์ค์นํด์ผํจ.
git clone https://github.com/Valloric/ycmd.git
cd ycmd
git submodule update --init --recursive
./build.py --all
Command Pallete (Ctrl+Shift+p) -> Ycmd: Create HMAC keys
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"],
}
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": "->"}
]
}
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 server directory์์ default_settings.json ํ์ผ ๋ด์ฉ ์ค ์๋ ๋ถ๋ถ ๋ณ๊ฒฝ
"global_ycm_extra_conf": "/home/ycmd/ycmd/.ycm_extra_conf.py",
"confirm_extra_conf": 0,
"hmac_secret": "์์ HMAC key ์
๋ ฅ",
compilation_database_folder = os.path.expanduser("~/projects/naver/build")
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ํ์ผ์ด ์์ฑ๋จ