至少很長一段時間內,我個人用的一直是pycharm,也感覺挺好用的,也沒啥大毛病
但是pycharm確實有點笨重,啥功能都有,但是有很多可能這輩子我也不會用到,並且pycharm打開的速度確實不敢恭維,即使固態硬盤也只能快了那么一丟丟。所以就嘗試了很多IDE工具,最終選擇了Sublime
我也相信,通過我的介紹,你也會愛上它的.
首先其他語言有的sublime也必須得有,並且更好用,主要有:
- 集成代碼分析
- 代碼的自動補全
- git功能的集成
- Sublime command-line 工具
不過上述的的這些功能不像pycharm一樣給你配置好了而是需要自己進行一些設置,對很多人來說看着這些設置可能覺得好復雜,感覺還不如直接用pycharm算了,雖然現在網上也有很多教程或者文檔教你怎么配置sublime的python開發環境,但是似乎都不是那么完善
所以下面的配置中會包括以下主要內容:
- python代碼語法和風格的檢查
- 超越其他IDE的代碼補全
- 跳轉到python標准庫,第三方庫以及自己定義的函數
- 格式化你的代碼符合PEP8規范
- 編輯器的設置,讓你寫出符合PEP8標准的python代碼
- 平滑的git集成與git命令行工具一起工作
- sublime 命令行工具的設置即使用
- 自定義配置顏色,讓自己的代碼看起來更漂亮,更易讀
- sublime 插件的安裝
- ......
注意:為了防止新安裝的插件沒有生效,可以每次安裝完成后重啟一下sublime
=========================== 前提、sublime安裝 ============================
參考之前的幾篇博文
=========================== 一、設置python的代碼分析工具 ============================
1. pip install flake8
這個工具有以下功能:
- 分析語法錯誤
- 分析代碼結構問題,如:使用沒有定義的變量
- 分析不符合規范和美觀的代碼
所以當這個工具被很好的集成在Sublime中的時候,對自己寫代碼會有非常大幫助
下面通過把Flake8和Sublime集成起來,而Flake8是非常好的一個工具在python中
速度非常快,誤報率低,用它來做代碼分析檢查是非常合適的
Flake8是一個需要獨立安裝的命令行工具
在安裝Flake8之后,再為Sublimean安裝SublimeLinter和SublimeLinter-flake8插件
安裝完成后,通過 flake8 --help可以查看相關參數
需要升級該插件時,只需通過 pip install --upgrade flake8
2. Install SublimeLinter
SublimeLinter是Sublime的代碼框架,它可以集成Flake8這樣的linter引擎來檢查我們的代碼,
並可以把它們的消息轉換成Sublime Text然后把它們顯示在我們代碼旁邊。
SublimeLinter 可以讓Flake8和Sublime Text成為一個非常完美的搭檔,可以直接在代碼編輯器里看到Flake8的消息。
所以首先我們需要安裝SublimeLinter,然后我們將安裝連接Flake8和SublimeLinter的SublimeLinter-flake8
通過ctrl+shift+p 進入如下圖,並輸入 install Package,然后回車
初次點會慢點,然后出現下圖:
輸入我們要安裝的:SublimeLinter,選擇如圖所示進行安裝:
提示如下圖所示表示安裝完成
3. Install SublimeLinter-flake8
現在需要將SublimeLinter和Flake8集成連接起來,這里就通過SublimeLinter-flake8插件來完成
同樣的,和上一個插件安裝方法類似也是通過ctrl+shift+p 進入如下圖,並輸入Flake8
出現下圖表示安裝完成
這個時候需要我們Sublime重啟后生效,然后我們打開可以寫一個py文件
寫了一個打印hello,World,我們從左下角就可以看出
從上圖的提示我們可以看出,我們的插件已經在起作用了,提示的錯誤是:在這個文件沒有回車到新的一行
雖然現在已經生效了,但是為了讓它更好用我們還需要對
SublimeLinter-flake8做一些簡單的配置
4. 配置SublimeLinter-flake8
先看一下當出現錯誤的時候的提示:
其實這種錯誤提示可能不是很友好,會在錯誤部分外面有個框,在其他IDE中可以能是在錯誤代碼下有
紅色下划線表示的,如果習慣了那種顯示方式可以通過下面方法配置
看到如上圖所示時,把左邊的配置全部拷貝到右邊的配置里
然后把配置中 "mark_style": "outline",更改為:"mark_style":“squiggly_underline”
在配置中找到"lint_mode": "background"更改為:"lint_mode": "load_save"
更改后的效果如下:
=========================== 二、代碼自動補全功能============================
很多程序員選擇IDE工具的時候都希望他的自動補全功能能好用點,而Sublime 一開始並沒有非常好用的插件,直到出現了Anaconda插件
它提供了一下功能:
1. 代碼的自動補全
2. 顯示python類,方法或者函數的使用方法
3. 檢查導入模塊是否有效
4. 按照PEP8規范自動化格式我們的代碼
5. 可以跳轉到函數的定義或者類的定義
6. .....
1. Install the Anaconda Package
和上面安裝講的安裝插件的方法一樣
出現如上圖提示表示安裝完成,重啟生效
當然我們還是需要進行一些簡單配置:
配置如下圖所示內容
{
"anaconda_linting": false,
"pep8": false
}
上述的配置是因為這個插件和flake8插件的功能相互沖突,這里最好使用flake8的配置就可以了
我們可以測試它的一些功能:
當我們輸入print的時候就會顯示出參數及文檔
這里還包括了很多功能不再一一演示,功能使用都在:
這個插件有很多實用的功能可以自己詳細看看並使用
=========================== 三、配置git環境============================
(這一塊目前還不是很懂。。。)
首先要確保自己的電腦已經安裝了git
如果沒有安裝,需要去這里下載:https://git-scm.com/download/win
安裝過程如下:
下一頁的rebase和stash可以選上
對自己的git環境進行基本的配置:
git config --global user.email "yourname@yourdomain.com"
git config --global user.name "Firstname Lastname"
git config --global --list 命令可以查看上面的配置
安裝git插件GitGutter
安裝過程和之前安裝其他插件的方法一樣:
安裝這個插件的作用是為了讓我們更好的和git聯合在一起,如:在公司里你從git上拉了同時的代碼,然后你在上面做更改,這個時候當然你可以過git diff命令查看你修改了哪些地方,但是如果我們通過這個插件直接可以在代碼里體現出來,如下圖,圖一是我從git上隨便clone了一個代碼,然后操作修改
從上圖中我們能夠很清楚的知道我們添加了哪些代碼,同樣的刪除哪些代碼,修改哪些代碼都會有相應的提示
讓這個功能不止這些,通過下面例子演示:
git init test-repo
cd test-repo
echo hello world > myfile.txt git add myfile.txt
通過上面命令添加一個test-repo倉庫,然后寫了一個文件
正常如果我們提交肯定是git add .然后git commit出現如下圖:
這里可以通過Esc然后:q鍵退出
其實這里我們可以讓每次commit的時候打開sublime,在sublime編輯里寫提交信息,這樣會更加方便,配置如下:
git config --global core.editor “‘C:\Program Files\Sublime Text 3\subl.exe’ –wait –new-window”
這樣當我們再次commit的時候就是如下圖效果:
現在如果信息過長就會看起非常不方便
Git Commit Message Syntax 插件安裝
這個插件安裝好后不會有提示,重啟一下sublime
=========================== 四、外觀配置============================
1. 關於字體(暫時沒用)
在如下圖所示的地方下載字體
可以選擇字體之后直接右鍵安裝
配置內容如下:
修改Preferences中的settings
添加內容有:
"font_face": "Ubuntu Mono",
"font_size":14,
"font_options": [
"directwrite",
"subpixel_antialias"
],
"font_options": [
"directwrite",
"subpixel_antialias",
"no_bold", "no_italic"
],
"caret_style": "solid",
"wide_caret": true,
"highlight_line": true,
"draw_white_space": "all",
"indent_guide_options": [
"draw_active"
],
"line_padding_bottom": 1,
"line_padding_top": 2,
"fold_buttons": false,
"scroll_past_end": true,
"shift_tab_unindent": true,
上面這些修改之后還有一個重要的修改,讓你的ide看起更加好看
2. 安裝Tomorrow Color Schemes插件(暫時沒用)
3. 安裝SoDaReloaded插件(暫時沒用)
安裝完成后配置Preferences → Settings
配置如下:
"theme": "SoDaReloaded Dark.sublime-theme",
然后做如下操作:
選擇標注的主題色,最后效果如下:
4. 配置PEP8規范
配置內容如下:
"tab_size": 4,
"translate_tabs_to_spaces": true,
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
"rulers": [
72,
79
],
"word_wrap": true,
"wrap_width": 80
這樣配置好后,我們寫代碼的長度就有限制,超過了就會自定換行,如下圖:
5. 關於文件管理插件安裝
默認情況下如果我們在左邊的文件直接右鍵只能看到如此簡陋的操作,如果想要更加豐富,則需要安裝插件
當安裝完成后:
需要配置perferences -> settings
"file_exclude_patterns":[
"*.pyc",
"*.pyo",
"*.exe",
"*.dll",
"*.obj",
"*.o",
"*.a",
"*.lib",
"*.so",
"*.dylib",
"*.ncb",
"*.sdf",
"*.suo",
"*.pdb",
"*.idb",
".DS_Store",
"*.class",
"*.psd",
"*.db",
"*.sublime-workspace"
],
"folder_exclude_patterns": [
".svn",
".git",
".hg",
"CVS",
"__pycache__"
]
安裝Zen Tabs插件
安裝完成后做做如下配置:
配置內容為:
{
"open_tab_limit": 5,
"hightlight_modified_tabs": true,
"show_full_path": false,
}
===================== 五、ctrl+左鍵跳轉到函數定義的地方 ======================
1.安裝ctags
ctrl + shift + p --> install package --> 安裝ctags
2.下載ctags的執行程序
下載地址:http://ctags.sourceforge.net/
下載完成,解壓
3.配置ctags路徑
preferences --> package settings --> ctags --> settings default, 把這里面的代碼全部拷貝到
preferences --> package settings --> ctags --> settings user,把command的值改為ctags.exe的路徑
4. 使用,在使用函數調轉功能前,需要先生成.tags文件,只需在項目文件管理器的項目文件上右鍵點擊Ctags:Rebuild Tags即可(注意,在改動文件之后也許重新生成.tags)
5. 所有工作都准備充分之后,就可以在函數名上右鍵點擊navigate 頭definition跳轉到指定函數了,返回用jump back;
設置跳轉快捷鍵方法:
主菜單欄 -> Preferences -> Package Settings -> CTags -> Key Bindings-User,會打開用戶自定義快捷鍵的配置文件,添加如下代碼:
[
{
"command": "navigate_to_definition",
"keys": ["ctrl+shift+left_click"]
},
{
"command": "jump_back",
"keys": ["ctrl+q"]
},
]
備注:
當在一個c工程下,使用 ctags -R,再用vim打開其目錄下的源文件時,出現了
cstag:tag not found
但是已經在頂層目錄下已經有了tags;
這是因為源文件在當前目錄下沒有找到tags文件,
解決辦法是在在vim的配置文件~/vimrc添加set tags=tags;
使如果源文件在當前文件夾下沒有找到tags,可以到它的上層目錄下繼續尋找;
文章參考:
https://www.cnblogs.com/zhaof/p/8126306.html
http://blog.chinaunix.net/uid-26557245-id-3594974.html