Ubuntu下配置Sublime的Jedi的代碼自動補全

Ubuntu下安裝sublime

sublime-text常用來寫代碼,它的代碼高亮,自動補全功能着實很迷人,還有很多拓展包,覺得大家可以嘗試一下。如果您想採用sublime-text2,則可訪問 http://www.sublimetext.com/2 下載,若想採用sublime-text3,則可訪問http://www.sublimetext.com/3 下載。下載之後的文件格式爲deb。Ubuntu對於deb有以下常見操作
Ubuntu軟件包格式爲deb,安裝方法如下:

sudo  dpkg  -i  package.deb

dpkg的詳細使用方法,網上有很多,下面簡單列了幾個:

指令 操作
dpkg -i package.deb 安裝包
dpkg -r package 刪除包
dpkg -P package 刪除包(包括配置文件)
dpkg -L package 列出與該包關聯的文件
dpkg -l package 顯示該包的版本
dpkg –unpack package.deb 解開 deb 包的內容
dpkg -S keyword 搜索所屬的包內容
dpkg -l 列出當前已安裝的包
dpkg -c package.deb 列出 deb 包的內容
dpkg –configure package 配置包

安裝Jedi

sublime可以下載拓展包豐富其功能,其中筆者認爲python代碼自動補全較爲實用的包爲Jedi。我們可以通過以上步驟進行下載
1.爲了防止出錯先做這一步。打開控制檯(ctrl+`),在控制檯中輸入以下代碼:
若爲sublime2,則

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')

若爲sublime3,則

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())

2.在sublime的菜單中選擇Preferences->Packages Control,在下來菜單中選擇Install Package,鍵入Jedi,選擇 Jedi - Python autocompletion,則開始下載並安裝Jedi
3.安裝結束後,關閉並重新打開sublime,進行下一步的工作

配置Jedi

Jedi的代碼補全是可以深入到包中的函數的自動補全,因此是需要指定路徑讓Jedi去搜讀取該路徑下的包的內容,我們要做的就是設置路徑。
1.在sublime的菜單中選擇Preferences->Package settings->Jedi->Settings-Default,會打開一個設置文件
2.找到python所在的文件夾。筆者所使用的爲Anaconda2,路徑爲/home/horcham/anaconda2,anaconda2所在的包則存在這個路徑裏面,筆者查了一下,包存在以下兩個路徑

/home/horcham/anaconda2/pkgs
/home/horcham/anaconda2/lib/python2.7/site-packages

將這兩個路徑填入到設置文件中的“python_interpreter” 和 “python_package_paths”,筆者填入後爲

{
    // Used to get the `PYTHONPATH`.
    // You can set a path to your python interpreter,
    // for example `/home/user/.virtualenvs/myenv/bin/python)`.
    "python_interpreter": "/home/horcham/anaconda2/bin/python",

    // Additional python package paths.
    "python_package_paths": [
        "/home/horcham/anaconda2/pkgs",
        "/home/horcham/anaconda2/lib/python2.7/site-packages"
    ],

    // Which function arguments to insert in autocompletion:
    // "all" - all
    // "required" - those with no default value (that are required)
    // "" - none
    "auto_complete_function_params": "required",

    // "debug", "error", "info", "warn"
    "logging_level": "warn",

    // Which completions to show:
    // "all" - both jedi's and sublime's
    // "jedi" - only jedi's
    // "default" - only jedi's if it has something to show, otherwise sublime's
    "sublime_completions_visibility": "default",

    // how to open goto definition result with ability to show it transient
    // variation (preview only. it won't have a tab assigned it until modified):
    // "single-panel" - opens a file in same layout (default)
    // "single-panel-transient" - same as above but in transient mode
    // "two-panel" - opens a file in a split to two columns layout
    // "two-panel-transient" - same as above but in transient mode
    "sublime_goto_layout": "single-panel"
}

修改之後保存該配置文件即可,重新打開sublime就可以使用。


參考文獻
[1]http://www.sublimetext.com/
[2]http://blog.csdn.net/u011982340/article/details/45843539
[3]https://www.imjeff.cn/blog/62/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章