Sublime IDE打造

2017/2/26 posted in  工作方法

Split Layouts

很方便的分屏功能,可以在 view —> layout 中找到

89CA290E-7CDD-481A-B9DC-218EE74C2

对应的可以看到相应的快捷键

横向分屏: option + cmd + 1/2/3/4 可以将屏幕分成横向的4个屏。
竖向分屏: shift + option + cmd + 1/2/3 可以将屏幕分成竖向的3个屏。 由于考虑到显示器的当前的对比情况,所以竖向仅支持三屏
网格分屏: option + cmd + 5 如图显示的,可以将图像分为4个屏。

切换屏幕的快捷键: ctrl + 1/2/3/4 来切换到4个屏幕上。

Code Snippets

Sublime Text 3 支持 Code Snippets , 可以帮助生成模板代码

菜单在 Tools —> Snippets ,用于使用Snippets, 也可以使用后面的快捷方式加tab键来进行

Tools—>Developer —> New Snippets , 可以用于定义最新的代码片段。

创建自定义配置文件

SublimeText —> Preferences —> Setting

User 中 添加 python的比较好的部分

{
    "color_scheme": "Packages/Monokai Extended/Monokai Extended.tmTheme",
    "ignored_packages":
    [
        "Markdown",
        "Vintage"
    ],
    "word_wrap": true,
    // editor options
    "draw_white_space": "all",
    // tabs and whitespace
    "auto_indent": true,
    "rulers": [79],
    "smart_indent": true,
    "tab_size": 4,
    "trim_automatic_white_space": true,
    "use_tab_stops": true,
    "word_wrap": true,
    "wrap_width": 80
}

创建主题

ColorSublime 用来管理主题非常方便,同时可以访问 Colorsublime 网站来查看最近维护的最新的sublime 样式。

安装ColorSublime的方法:

  1. SublimeText —> Preferences —> Browse Packages 打开相应的主题文件夹
  2. 在主题文件夹中新建一个名为”Colorsublime-Themes”的文件夹
  3. 在网站上下载颜色样式文件,比如 “Flatland_Monokai.tmTheme”文件
  4. 将下载的文件拷贝到”Colorsublime-Themes”文件夹中即可
  5. 在 SublimeText —> Preferences —> Color Scheme —> Colorsublime-Themes —> Flatland_Monokai, 就可以看到相应的颜色样式已经变更了。

相关插件

SideBarEnhancements

SideBarEnhancements 扩展了侧边栏中菜单选项的数量,从而提升你的工作效率。诸如”New file” 和 “Duplicate” 这样的选项对于 ST3 来说实在是太重要了, 我甚至觉得 ST3 本来就应该提供这些功能。而且仅凭 “Delete” 这一个功能就让这个插件值得下载。这个功能将你会在你删除文件的时候把它放入回收站。虽然这个功能乍一看没什么用,但是当你没有使用这样的功能而彻底删除了一个文件的时候,除非你用了版本管理软件,否则你将很难恢复这个文件。

Anaconda

Anaconda 是一个终极 Python 插件。它为 ST3 增添了多项 IDE 类似的功能,例如:

  • Autocompletion 自动完成,该选项默认开启,同时提供多种配置选项。
  • Code linting 使用支持 pep8 标准的 PyLint 或者 PyFlakes。因为我个人使用的是另外的 linting 工具,所以我会在 Anaconda 的配置文件 Anaconda.sublime-settings 中将 linting 完全禁用。操作如下: Sublime > Preferences > Package Settings > Anaconda > Settings – User: {"anaconda_linting": false} ---> 这里去掉之后也可以去掉烦人的pep8洁癖式的代码样式检查
  • McCabe code complexity checker 让你可以在特定的文件中使用 McCabe complexity checker. 如果你对软件复杂度检查工具不太熟悉的话,请务必先浏览上边的链接。
  • Goto Definitions 能够在你的整个工程中查找并且显示任意一个变量,函数,或者类的定义。
  • Find Usage 能够快速的查找某个变量,函数或者类在某个特定文件中的什么地方被使用了。
  • Show Documentation: 能够显示一个函数或者类的说明性字符串(当然,是在定义了字符串的情况下)

你可以在这里,或者通过 ST3 的 Package Settings: Sublime Text > Preferences > Package Settings > Anaconda > README 来查看所有这些特性。

SublimeCodeIntel 是另外一个非常流行的插件,它的许多特性与 Anaconda 类似。我建议同时也试试它。

相应的Anaconda 帮助文档可以查看这里 Anaconda, the Python IDE for Sublime Text 3

Python PEP8 Autoformat

Anaconda的静态检查会给不通过的代码自动加上白框,使用PEP8 Autoformat 可以自动的按照PEP8进行排版。

使用快捷键 ctrl + shift + R 可以自动进行排版

Djaneiro

Djaneiro 支持 Django 模版和关键字高亮以及许多实用的代码片(snippets)功能。其中的 snippets 绝对是省时神器。你可以通过很少几个关键字就能创建许多常见的 Django 代码块比如 templates,models,forms,以及 views。请查看官方文档获取 snippets 列表。

我个人非常喜欢的以下两个用于创建 template 的代码片:输入 var 就可以新建 {{ }},而输入 tag 就能新建 {% %}。

requirementstxt

Requirementstxt 可以为你的 requirements.txt 文件提供自动补全,语法高亮以及版本管理功能。

SublimeLinter

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 中的错误和警告:

GitGutter

GitGutter 让 ST3 能在左边栏的位置显示一个小图标,用以表示在最后一次提交以后,代码是否有追加,修改或者删除。

如果你想让该插件支持分布式的版本管理软件(Git,SVN,Bazaar 和 Mercurial)。请查看 Modific。

FTPSync

FTPSync 能够将你的项目和远程文件进行同步。你只需要打开文件便可以下载更新(如果你的远端文件比本地更加新的话),而且如果你对本地文件做出了修改可以立即同步到远程服务器。这是非常棒的同步本地文件和远程文件的方法。你可以通过以下的方法来添加你的远程服务器:Sublime Text > Preferences > Package Settings > FTPSync > Setup FTPSync.

{
  'primary': {
    host: 'ftp.mywebsite.com',
    username: 'johnsmith',
    password: 'secretpassword',
    path: '/www/',

    upload_on_save: true,
    tls: true
  }
}

我个人喜欢把密码设为 null 因为我不想让我的密码出现在配置文件中。这样 FTPSync 会在我每次保存完文件后要求我输入密码。

可以用于本地开发,然后将开发的内容直接同步到远端生产服务器。

AdvancedNewFile

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:

你也可以更改默认打开的文件夹路径:Sublime Text > Preferences > Package Settings > AdvancedNewFile > Settings – User

Python

这样我创建新文件的时候,_Users_michaelherman_Documents_repos将会自动被添加到路径最前方,因为99%的情况下我都会把我的脚本放在这个路径下。

Emmet

Emmet,以前叫做 Zen Coding,让你可以通过简单的缩写来创建 HTML 或者 CSS 的代码块。

例如,你只需要输入感叹号!,然后按下 tab 键,便可以在一个 HTML 文件中创建一段带有几个基本标签的 HTML5 文档类型的代码:

请查看官方文档或者速查手册获取更多信息。

Markdown Preview

Markdown Preview 可以用来预览和编译 markdown 文件。

你可以打开 Package Manager 然后输入 Markdown Preview 来查看可用的命令:

  • Markdown Preview: Python Mrakdown: 在浏览器中预览
  • Markdown Preview: Python Mrakdown: 导出 HTML 文件
  • Markdown Preview: Python Mrakdown: 拷贝到剪贴板
  • Markdown Preview: Github风格Markdown: 在浏览器中预览
  • Markdown Preview: Github风格Markdown: 导出 HTML 文件
  • Markdown Preview: Github风格Markdown: 拷贝到剪贴板
  • Markdown Preview: 打开Markdown速查手册
    一旦你完成转换,你之后的所有保存都会立即反映到转换的文件中。

快捷键

  • 跳转到任意内容 (“cmd+p”) 用来快速查找和打开文件。你仅仅只需要工程中文件的一部分路径或者文件名你就可以很容易的打开这个文件。这在一个大型的 Django 工程中显得非常方便。
  • 跳转到指定行 (“ctrl+g”) 让你在当前文件中跳转到指定行数。
  • 跳转到标志 (“cmd+r”) 可以列出当前文件中所有的函数或者类,让你更方便查找。你可以通过输入关键字来查找你所需要的函数或者类。
  • 跳转到行首 (cmd+left-arrow-key) 与 跳转到行尾 (cmd+right-arrow-key)
    删除当前行(ctrl+shift+k)
  • 多重编辑 是我迄今为止最喜欢的快捷键

    1.选定一个单词,点击 **“cmd+d”** 来选择同样的单词,再次点击 **“cmd+d”** 继续选择下一个单词…
    2.或者 **“cmd+单击”** 来指定多个你想要同时修改的地方。
    
  • 块编辑 (option+left-mouse-click) 用于选择一整块的内容。通常在整理 CSV 文件的时候用于删除空白内容。
    如果想了解更多关于快捷键的内容,请看一下这篇文章。

自定义命令

你可以很容易地使用 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) 文件中完成快捷键绑定。

额外资源

Community-maintained documentation
Package Manager documentation
Unofficial documentation reference
Pimp my Editor – Presentation

参考文章:

将Sublime Text 3设置为Python全栈开发环境 - Python - 伯乐在线