Linux基础教程:安装SublimeText3并使用SublimeClang插件
Sublime Text是个跨平台的编辑器,支持Windows、Linux、Mac系统平台,支持各种语言的代码编辑,配合上对应的插件,话上点时间学习,你将会对它爱不释手,大大的提高你的编码效率。本文将讲解在Ubuntu 14.04系统中安装SublimeText 3,并配置SublimeClang插件来配置C/C++开发环境。
1. Sublime Text 3的下载安装
到官方网站上http://www.sublimetext.com/3下载64位(系统位64位)的.deb安装包(http: //c758482.r82.cf2.rackcdn.com/sublime-text_build-3059_amd64.deb),下载后双击安装即可。安装好之后,通过命令subl即可打开程序,此时已经可以编写代码了。
2. 安装Package Control
Package Control是一个用于管理插件的好工具,可以用于安装、删除、禁用相应的插件,常用的插件都能在上面找到。
安装非常方便,使用git将该代码先克隆下来即可,然后拷贝到~/.config/sublime-text-3/Packages/目录下并命名为Package Control即可。(也可以直接在github上打包下载,然后解压复制到~/.config/sublime-text-3/Packages/目录下并命名为Package Control)。
cd ~/.config/sublime-text-3/Packages/
git clone https://github.com/wbond/package_control_channel.git Package\ Control
或者打开sublime_text然后按快捷键ctrl+`(Esc下面那个键),在弹出的命令输入窗口输入下面信息回车即可:
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', ' ')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
重新启动SublimeText 3,然后使用快捷键Ctrl + Shift + p,在弹出的输入框中输入Package Control则可以看到Install Package的选项,选择它后一会儿(看左下角的状态)会弹出插件查询及安装窗口,输入想用的插件,选中回车即可。如果用于C/C++开发建议安装 C++ snipptes,ConvertToUTF8,SublimeAStyleFormatter插件,具体代表什么意思baidu一下就清楚了。
3. 安装强大的SublimeClang插件
SublimeClang是Sublime Text中唯一的C/C++自动补全插件,功能强大,自带语法检查功能,不过最近作者已经停止更新了,目前只能在Sublime Text 2的Package Control中可以找到并自动安装,在SublimeText 3中只能手动通过源码安装,其代码线在https://github.com/quarnster/SublimeClang中。具体安装步骤如下:
安装相关软件
sudo apt-get install cmake build-essential clang git
cd ~/.config/sublime-text-3/Packages
git clone --recursive https://github.com/quarnster/SublimeClang SublimeClang
cd SublimeClang
cp /usr/lib/x86_64-linux-gnu/libclang-3.4.so.1 internals/libclang.so #这一步很重要,如果你的clang库不是3.4版本的话,请将对应版本的库拷贝到internals中
cd src
mkdir build
cd build
cmake ..
make
一切成功的话将会在SublimeClang/internals目录中生成libcache.so库文件。重启Sublime Text,然后按快捷键Ctrl + `(Esc下面那个键)打开自带的控制输出,看看有没有错误,如果没有错误就说明一切OK了。接下来就是配置自己的文件了,按下ctrl + shift + p快捷键,在弹出的输入框中输入 sublimeclang settings ,然后选择带User那一行,在打开的文件中输入如下信息:
{
"show_output_panel": false,
"dont_prepend_clang_includes": true,
"inhibit_sublime_completions": false,
"options":
[
"-std=gnu++11",
"-isystem", "/usr/include",
"-isystem", "/usr/include/c++/*",
"-isystem", "/usr/include/c++/4.8",
"-isystem", "/usr/include/c++/4.8/*",
"-isystem", "/usr/include/boost",
"-isystem", "/usr/include/boost/**",
"-isystem", "/usr/lib/gcc/x86_64-linux-gnu/4.8/include",
"-isystem", "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/*"
]
}
注释:我的gcc版本为4.8,如果你的不是请替换对应的版本,在#include相应的头文件后保存当前文件,在接下来的操作中将更快的提示所包含在头文件的函数或者变量。
4. 工程实例
通过菜单栏中的Project -> Add Folder To Project...把你已有的原代码目录加入到Sublime Text中,然后通过Project -> Save Project As...来保存你的项目,这样就创建好了项目。例如我的机器在/media/WinE/WorkStation/Swift中有个C++项目,代码分别放在了Swift下的swift/base和swift/disruptor两个目录下,现在想要把这两个目录中的内容在写代码时能够自动提示则需要相应的配置修改。Project -> Edit Project,在所打开的配置文件中我更改如下:
{
"folders":
[
{
"follow_symlinks": true,
"path": "/media/WinE/WorkStation/Swift"
}
],
"settings":
{
"sublimeclang_options":
[
"-I/media/WinE/WorkStation/Swift",
"-I/media/WinE/WorkStation/Swift/swift/base",
"-I/media/WinE/WorkStation/Swift/swift/disruptor",
]
}
}