让你用sublime写出最完美的python代码--windows环境

点击上方标题查看原文链接, 感谢大佬

至少很长一段时间内,我个人用的一直是pycharm,也感觉挺好用的,也没啥大毛病

但是pycharm确实有点笨重,啥功能都有,但是有很多可能这辈子我也不会用到,并且pycharm打开的速度确实不敢恭维,即使固态硬盘也只能快了那么一丢丢。所以就尝试了很多IDE工具,最终选择了Sublime
我也相信,通过我的介绍,你也会爱上它的.

首先其他语言有的sublime也必须得有,并且更好用,主要有:

  1. 集成代码分析
  2. 代码的自动补全
  3. git功能的集成
  4. Sublime command-line 工具

不过上述的的这些功能不像pycharm一样给你配置好了而是需要自己进行一些设置,对很多人来说看着这些设置可能觉得好复杂,感觉还不如直接用pycharm算了,虽然现在网上也有很多教程或者文档教你怎么配置sublime的python开发环境,但是似乎都不是那么完善

所以下面的配置中会包括以下主要内容:

  1. python代码语法和风格的检查
  2. 超越其他IDE的代码补全
  3. 跳转到python标准库,第三方库以及自己定义的函数
  4. 格式化你的代码符合PEP8规范
  5. 编辑器的设置,让你写出符合PEP8标准的python代码
  6. 平滑的git集成与git命令行工具一起工作
  7. sublime 命令行工具的设置即使用
  8. 自定义配置颜色,让自己的代码看起来更漂亮,更易读
  9. sublime 插件的安装
  10. ......

注意:为了防止新安装的插件没有生效,可以每次安装完成后重启一下sublime

安装Sublime

通过下图所示的地址下载并安装,我的安装环境是win7 64位 sp1

安装完成之后第一次打开应该如下图所示,表示没有注册,有能力的还是支持一下正版的好

下载“Package Control” Package Manager

Sublime 有很多插件,这些插件为我们写python代码提供了非常强大的功能,这些插件需要单独安装。
而安装这些插件最方便的方法就是通过Package Control的插件,这其实就是一个插件管理器,帮助我们从Sublime中安装,升级和移除插件,这样对于我们管理插件来说是非常方便的,安装好它之后在通过它来安装其他插件
点击Tools 菜单下的Install Package Control 就可以了

当出现如下图提示时,表示安装完成
如果想要使用需要重启一下Sublime,然后通过快捷键ctrl+shift+p 或者通过点击Tools菜单下的
CommandPalette 弹出如下图:

这样到这里Sublime的基本安装是完成了

设置Python环境

设置python的代码分析工具

这个工具有以下功能:

  1. 分析语法错误
  2. 分析代码结构问题,如:使用没有定义的变量
  3. 分析不符合规范和美观的代码

所以当这个工具被很好的集成在Sublime中的时候,对自己写代码会有非常大帮助
下面通过把Flake8和Sublime集成起来,而Flake8是非常好的一个工具在python中
速度非常快,误报率低,用它来做代码分析检查是非常合适的

Flake8是一个需要独立安装的命令行工具
在安装Flake8之后,再为Sublimean安装SublimeLinter和SublimeLinter-flake8插件

Install Flake8

pip install flake8

安装完成之后通过flake8 --help可以看到如图所示:

如果后面需要升级这个插件只需要通过命令:
pip install --upgrade flake8

Install SublimeLinter

SublimeLinter是Sublime的代码框架,它可以集成Flake8这样的linter引擎来检查我们的代码,
并可以把它们的消息转换成Sublime Text然后把它们显示在我们代码旁边。
SublimeLinter 可以让Flake8和Sublime Text成为一个非常完美的搭档,可以直接在代码编辑器里看到Flake8的消息。
所以首先我们需要安装SublimeLinter,然后我们将安装连接Flake8和SublimeLinter的SublimeLinter-flake8

1.通过ctrl+shift+p 进入如下图,并输入 install Package,然后回车

初次会慢点,然后提示如下图:

输入我们要安装的:SublimeLinter,选择如图所示进行安装:

提示如下图所示表示安装完成

Install SublimeLinter-flake8
现在需要将SublimeLinter和Flake8集成连接起来,这里就通过SublimeLinter-flake8插件来完成
同样的,和上一个插件安装方法类似也是通过ctrl+shift+p 进入如下图,并输入Flake8

当出现如上图提示是表示安装完成,这个时候需要我们Sublime重启后生效,然后我们打开可以写一个py文件
写了一个打印hello,World,我们从右下角就可以看出

从上图的提示我们可以看出,我们的插件已经在起作用了,提示的错误是:在这个文件没有回车到新的一行
虽然现在已经生效了,但是为了让它更好用我们还需要对
SublimeLinter-flake8做一些简单的配置

配置SublimeLinter-flake8

先看一下当出现错误的时候的提示:

其实这种错误提示可能不是很友好,会在错误部分外面有个框,在其他IDE中可以能是在错误代码下有
红色下划线表示的,如果习惯了那种显示方式可以通过下面方法配置

看到如上图所示时,把左边的配置全部拷贝到右边的配置里并把开头的default更改为user
然后把配置中 "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. .....

Install the Anaconda Package

和上面安装讲的安装插件的方法一样

出现如上图提示表示安装完成,重启生效
当然我们还是需要进行一些简单配置:

配置如下图所示内容

{
"anaconda_linting": false,
"pep8": false
}
上述的配置是因为这个插件和flake8插件的功能相互冲突,这里最好使用flake8的配置就可以了

我们可以测试它的一些功能:
当我们输入print的时候就会显示出参数及文档

这里还包括了很多功能不再一一演示,功能使用都在:

这个插件有很多实用的功能可以自己详细看看并使用

配置git环境

首先要确保自己的电脑已经安装了git
如果没有安装,需要去这里下载:https://git-scm.com/download/win
安装过程如下:

对自己的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

外观的配置

关于字体

在如下图所示的地方下载字体

可以选择字体之后直接右键安装

配置内容如下:
修改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看起更加好看

安装Tomorrow Color Schemes插件

安装SoDaReloaded插件

安装完成后配置Preferences → Settings
配置如下:
"theme": "SoDaReloaded Dark.sublime-theme",
然后做如下操作:

选择标注的主题色,最后效果如下:

配置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

  

这样配置好后,我们写代码的长度就有限制,超过了就会自定换行,如下图:

关于文件管理插件安装

默认情况下如果我们在左边的文件直接右键只能看到如此简陋的操作,如果想要更加丰富,则需要安装插件

当安装完成后:

需要配置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,

  

到此所有的配置完成!

 

所有的努力都值得期许,每一份梦想都应该灌溉!
 

sublime_win配置的更多相关文章

  1. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  2. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  3. react-router 组件式配置与对象式配置小区别

    1. react-router 对象式配置 和 组件式配置    组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...

  4. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  5. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

  6. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

  7. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  8. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  9. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

随机推荐

  1. siege官方文档(译)(一)

    WHAT IS siege? Siege is an open source regression test and benchmark utility. Siege是一款开源回归测试和基准测试工具. ...

  2. PHP 字符 正则表达式 +,*,?

    1.“/”是定界符,“/”定界符之间的部分就是将要在目标对象中进行匹配的模式.同时为了正则更加灵活,引入了元字符,即“+”, “*”,以及 “?”. (1)“+”元字符规定其前导字符必须在目标对象中连 ...

  3. [未读]编写可测试的JavaScript代码

  4. ZOJ Course Selection System DP

    http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5565 Course Selection System Time ...

  5. Unity加载AssetBundle的方法

    using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; usin ...

  6. handler 方法进不去,服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看

    HTTP/1.1 500 Internal Server ErrorCache-Control: privateContent-Type: text/html; charset=utf-8Server ...

  7. 一个普通Java程序包含哪些线程??

    package com.java.threads; import java.lang.management.ManagementFactory; import java.lang.management ...

  8. scrapy安装遇到的Twisted问题

    贴上大佬的博客地址:https://blog.csdn.net/a19990412/article/details/78849881 电脑一直在爆下面这一堆的信息 Command”c:\users\l ...

  9. iOS 多尺寸屏幕适配

    Point Point可以理解为iOS程序员眼中的大小单位.它是iOS操作系统中的抽象的概念. Rendered Pixels可以理解为UI设计师眼中的大小单位. Physical Pixels 设备 ...

  10. Linux下的I/O复用

    读书笔记 I/O复用使得程序能同时监听多个文件描述符,这对提高程序的性能至关重要. Linux下实现I/O复用的系统调用主要有select, poll, epoll. select: 用户通过3个参数 ...