为 Sublime Text 3 设置 Python 的全栈开发环境css
Sublime Text 3 (ST3) 是一个轻量级的跨平台文字编辑器,尤以其轻快的速度,易用性和强大的社区支持而著称。它一经面世便被认为是一个杰出的编辑器,而它真正的强大之处在于你可使用 Package Control 来增长它的功能以及能够进行各类自定义设置。html
在本文章中,咱们将会看到如何将 Sublime Text 打形成为 Python 的全栈开发环境(从前端到后端),如何经过自定义主题和插件来加强它的基本功能,而且还将会涉及到不少使 ST3 变得更增强大的经常使用的命令,特性以及快捷键。前端
本教程将假定你使用的是 Mac 电脑而且习惯于使用终端。若是你使用的是 Windows 或者 Linux 操做系统,本文涉及到的一些命令将有可能会有所不一样,可是你应该仍然能够很容易地经过 Google 来获取到与本教程相关的解答。python
在咱们开始以前,让咱们先讨论一下我所谓的”全栈”具体指的是什么。git
在如今的 HTML5 以及移动设备开发中,Javascript 简直无处不在。是的,无处不在!仅仅使用 Python 基于某个框架好比 Django 或者 Flask 进行开发是不够的。若是你想从始至终真正的本身开发一个网站的话,你必须熟悉 Javascript(以及 Javascript 的一大堆的框架),REST API(含状态传输 API),响应式设计,固然还有 HTML 和 CSS,以及其余许多东西。如今让咱们来面对一个问题:就像其余任何一个手艺人同样,为了成为一个最厉害的程序员,你的工具必须犀利,你的开发环境必须被打形成全栈开发——那就是咱们立刻将要开始的工做…程序员
让咱们从 ST3 的一些默认特性开始着手吧…github
同时,你还能够点击 Tools > New Snippet 来建立属于你本身的代码片。请参照这个 文档来获取帮助,也能够在 这里 查看我我的用到的一些 snippets。web
在你下载完 ST3 之后…编程
subl
命令就像 TextMate 的 mate
命令同样,Sublime Text 拥有一个叫作 subl
的命令行工具,能够用来经过终端打开一个文件或者一整个文件夹。json
你须要创建一个指向 subl 二进制文件的符号连接来使 subl 命令有效:
Python
1 |
$ ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl |
尝试使用如下命令来打开 Sublime 来确保连接生效了:
Python
1 |
$ subl |
若是以上命令没有效果,你可能须要将 /bin 添加到你的环境变量中:
Python
1 |
$ echo "export PATH=~/bin:$PATH" >> ~/.profile |
而后从新尝试第一步。
若是你仍然遇到问题,尝试查看 这篇 文章来获取帮助。 或者你能够看看如何在 Windows和 Linux 中创建符号连接。
如今你就能够经过下述命令来打开文件或者文件夹了:
Python
1 2 3 4 5 6 7 8 |
# open the current directory $ subl .
# open a directory called tests $ subl ~/Documents/test
# open a file called text.txt $ subl test.txt |
若是路径中含有空格,你必须使用双引号将路径括起来:
Python
1 |
$ subl "~/Documents/test/my test file.txt" |
想要查询全部可用的命令,请打开帮助文件:
Python
1 |
$ subl --help |
为了使用众多的 插件 来扩展 Sublime 的功能,你须要安装一个叫作 Package Control 的插件管理器——这个东西你必需要手动安装。可是一旦你安装好了之后,你就可使用 Package Control 来安装,移除或者升级全部的 ST3 插件了。
请查阅官方 文档 获取更多的命令。
你能够经过一个基于 JSON 的配置文件来充分的自定义 Sublime Text,这使得转移或者同步你的自定义文件到另外一个系统变得很是容易。首先,咱们须要新建咱们本身的配置文件。咱们最好是为不一样的系统环境和编程语言各自建立一个配置文件。
依次点击 Sublime Text > Preferences > Settings – User 来建立一个配置文件。在该文件中添加一个空的 JSON 类而后就能够在其中写入你的配置内容了。以下所示:
Python
1 2 3 4 5 6 7 |
{ // base settings "auto_complete": false, "sublimelinter": false, "tab_size": 2, "word_wrap": true } |
ST3 为你提供了彻底自定义化一个适合本身主题的能力。固然,你若是不是那么的挑剔的话,你能够经过 Package Control 从许许多多的由 Sublime 社区设计的 主题 中下载一个。 在下载以前你能够经过 ColorSublime 来预览这些主题。
广受欢迎的的 Soda Dark 和极简风格的 Flatland 是我我的最喜欢的两个主题。
在安装完了主题之后, 请务必更新你的配置文件. Sublime Text > Preferences > Settings – User:
Python
1 2 3 4 |
{ "theme": "Flatland Dark.sublime-theme", "color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme" } |
除了那些主题之外,我还会使用如下这一些插件来提高个人工做效率。
SideBarEnhancements 扩展了侧边栏中菜单选项的数量,从而提高你的工做效率。诸如”New file” 和 “Duplicate” 这样的选项对于 ST3 来讲实在是过重要了, 我甚至以为 ST3 原本就应该提供这些功能。并且仅凭 “Delete” 这一个功能就让这个插件值得下载。这个功能将你会在你删除文件的时候把它放入回收站。虽然这个功能乍一看没什么用,可是当你没有使用这样的功能而完全删除了一个文件的时候,除非你用了版本管理软件,不然你将很难恢复这个文件。
如今就下载吧!
Anaconda 是一个终极 Python 插件。它为 ST3 增添了多项 IDE 相似的功能,例如:
{"anaconda_linting": false}
你能够在这里,或者经过 ST3 的 Package Settings: Sublime Text > Preferences > Package Settings > Anaconda > README 来查看全部这些特性。
SublimeCodeIntel 是另一个很是流行的插件,它的许多特性与 Anaconda 相似。我建议同时也试试它。
Djaneiro 支持 Django 模版和关键字高亮以及许多实用的代码片(snippets)功能。其中的 snippets 绝对是省时神器。你能够经过不多几个关键字就能建立许多常见的 Django 代码块好比 templates,models,forms,以及 views。请查看官方文档获取 snippets 列表。
我我的很是喜欢的如下两个用于建立 template 的代码片:输入 var
就能够新建 {{ }}
,而输入 tag
就能新建 {% %}
。
Requirementstxt 能够为你的 requirements.txt 文件提供自动补全,语法高亮以及版本管理功能。
SublimeLinter 是 ST3 的一个代码静态检查工具框架(linter)。这个插件自己来讲并不包含任何的一个 linter,可是你能够经过在 Package Control 中输入 SublimeLinter-[linter_name] 的方式来安装一个 linter。你能够点击这里查看官方的 linter。同时你还能够在 Package Control 中查看到许多的第三方 linter。请点击这里查看安装说明。
对于 Python 的代码静态检查器,我建议使用 SublimeLinter-pyflakes 和 SublimeLinter-pep8。
与此同时,我也会使用 SublimeLinter-jshint, SublimeLinter-pyyaml, SublimeLinter-csslint,SublimeLinter-html-tidy,以及 SublimeLinter-json。
以上大多数的 linter 都须要先安装一些依赖库才能使用,因此在安装前请务必阅读他们的安装说明。
你能够经过修改用户自定义的 SublimeLinter.sublime-settings 文件来对你的每一个 linter 个性化:Sublime Text > Preferences > Package Settings > SublimeLinter > Settings – User. 例如我经过如下代码来忽略 pep8 中的错误和警告:
Python
1 2 3 4 5 6 7 8 |
"pep8": { "@disable": false, "args": [], "excludes": [], "ignore": "E501,C0301,W0142,W0402,R0201,E1101,E1102,C0103,R0901,R0903,R0904,C1001,W0223,W0232,W0201,E1103,R0801,C0111", "max-line-length": 100, "select": "" }, |
GitGutter 让 ST3 能在左边栏的位置显示一个小图标,用以表示在最后一次提交之后,代码是否有追加,修改或者删除。
若是你想让该插件支持分布式的版本管理软件(Git,SVN,Bazaar 和 Mercurial)。请查看Modific。
FTPSync 可以将你的项目和远程文件进行同步。你只须要打开文件即可如下载更新(若是你的远端文件比本地更加新的话),并且若是你对本地文件作出了修改能够当即同步到远程服务器。这是很是棒的同步本地文件和远程文件的方法。你能够经过如下的方法来添加你的远程服务器:Sublime Text > Preferences > Package Settings > FTPSync > Setup FTPSync.
Sample settings:
Python
1 2 3 4 5 6 7 8 9 10 11 |
{ 'primary': { host: 'ftp.mywebsite.com', username: 'johnsmith', password: 'secretpassword', path: '/www/',
upload_on_save: true, tls: true } } |
我我的喜欢把密码设为 null
由于我不想让个人密码出如今配置文件中。这样 FTPSync 会在我每次保存完文件后要求我输入密码。
AdvancedNewFile 可让你在 ST3 中使用简单的几个快捷键便建立一个新的文件夹或者一个新的文件:
你只须要经过几个快捷键即可以打开 AdvancedNewFile 的输入框。而后输入路径和文件名。当你按下回车键后,文件便被建立了。除此以外,若是目标文件夹并不存在的话,该文件夹将会被自动创建。在默认状况下,你建立的文件的路径将会显示在状态栏中。
请查看 Github 上的这篇文档来获取更为详细的使用说明。特别建议请详细阅读TAB自动补全(Tab Completion)以及预约义别名(Predefined Aliases)部分。
我把“cmd+n”设置为了经过 AdvancedNewFile 建立新文件的快捷方式。该快捷键能够经过修改 Key Bindings – User file 来实现 Sublime Text > Preferences > Package Settings > AdvancedNewFile > Key Bindings – User:
Python
1 2 3 |
[ { "keys": ["cmd+n"], "command": "advanced_new_file_new"} ] |
你也能够更改默认打开的文件夹路径:Sublime Text > Preferences > Package Settings > AdvancedNewFile > Settings – User
Python
1 |
{"default_initial": "/Users/michaelherman/Documents/repos"} |
这样我建立新文件的时候,/Users/michaelherman/Documents/repos
将会自动被添加到路径最前方,由于99%的状况下我都会把个人脚本放在这个路径下。
Emmet,之前叫作 Zen Coding,让你能够经过简单的缩写来建立 HTML 或者 CSS 的代码块。
例如,你只须要输入感叹号!
,而后按下 tab 键,即可以在一个 HTML 文件中建立一段带有几个基本标签的 HTML5 文档类型的代码:
Python
1 2 3 4 5 6 7 8 9 10 |
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body>
</body> </html> |
Markdown Preview 能够用来预览和编译 markdown 文件。
你能够打开 Package Manager 而后输入 Markdown Preview 来查看可用的命令:
一旦你完成转换,你以后的全部保存都会当即反映到转换的文件中。
Python
1 2 |
1.选定一个单词,点击 **“cmd+d”** 来选择一样的单词,再次点击 **“cmd+d”** 继续选择下一个单词… 2.或者 **“cmd+单击”** 来指定多个你想要同时修改的地方。 |
若是想了解更多关于快捷键的内容,请看一下这篇文章。
你能够很容易地使用 Python 来编辑你本身的自定义命令和快捷键组合。目前我我的使用的有如下这些:
经过文件选项打开你的 Package 文件夹(Sublime > Preferences > Browse Packages),而后打开 User 文件夹,接下来将上述的 Python 文件添加到 “/Sublime Text 3/Packages/User” 文件夹中。最后请在 Key Bindings – User file (Sublime Text > Preferences > Package Settings > AdvancedNewFile > Key Bindings – User) 文件中完成快捷键绑定。
Python
1 2 3 4 5 6 7 8 9 10 11 12 |
[ // Copy file name { "keys": ["cmd+shift+c"], "command": "copy_path_to_clipboard" }, // Close all other tabs { "keys": ["cmd+alt+w"], "command": "close_tabs" } ] |