sublime 配置大全
最近玩 python ,一般用的编译器是 pycharm ,功能强大,但是苦于启动速度遂准备换坑,瞄上了 sublime 。这里记录一下 sublime 的设置以及坑爹项,需要注意的是我用的是 sublime text 3 做的例子。
在安装numpy等库函数时,通过“命令提示符”操作显示库函数已经安装完毕,在pycharm中可是依然显示引用失败,尝试使用sublime,显示可用,遂好好使用sublime,现配置成想用的模式。
1 解决Tab转换成空格
首先点击Preferences –> Settings
显示对话框,在右侧 Preferences.sublime-settings-User,补充上一段代码:
// The number of spaces a tab is considered equal to "tab_size": 4, // Set to true to insert spaces when tab is pressed "translate_tabs_to_spaces": true, //设置保存时自动转换 "expand_tabs_on_save": true
2 、Package Control 安装
package control 可以方便地安装其他插件,实际上package control就是插件管理器(安装、升级、移除)。
Tools — > Install Package Control (注:一般该按钮位于最后一行,次行为Developer)
如果发现Tools的最后一行为Developer,说明Package Control已经安装过;
若Preferences – > Package Settings -> Package Control ,则说明安装成功,如下图。
3 用Package Control 安装Python相关的插件
安装Package Control 后需要重启sublime。
打开install的命令对话框;
1)sublime软件界面 Ctrl+Shift+P,打开下图对话框,
2)输入install,打开插件安装对话框,
3)输入想要安装软件的名字进行搜索并点击安装
- List Packages 显示所有已安装的插件
- Remove Packages 移除一个指定的插件
- Upgrade Package 更新一个指定的插件
- Upgrade/Overwrite All Packages 更新所有已安装的插件
4 安装代码检查工具 Flake8
Flake8包装了下列工具:
- PyFlakes:静态检查Python代码逻辑错误的工具。
- pep8: 静态检查PEP 8编码风格的工具。
- Ned Batchelder’s McCabe script:静态分析Python代码复杂度的工具。
它综合上述三者的功能,在简化操作的同时,还提供了扩展开发接口。Flake8 工具非常适合编写代码时的检查分析。
插件安装:pip install flake8
查看帮助:在命令提示符中输入flake8 –help 可以查看帮助。
插件升级:pip install –upgrade flake8
官网 https://pypi.org/project/flake8/
Flake8简介 这里面介绍了 安装、使用、配置、与Git整合等知识点
5 代码校验工具SublimeLinter
sublime的Sublime插件是检查代码语法是否错误,并对错误处进行提示。
如同其他插件一样使用 Package Control 来安装。
- 按下
Ctrl+Shift+p
进入 Command Control - 输入
install
进入 Package Control: Install Package,注意 : 输入install可能会等待时间较长, - 输入
SublimeLinter
。点击即可开始安装.
当出现下图(messages文档)时表面安装完毕
在
6 Install SublimeLinter-flake8
这个插件为sublimeLinter 提供了flake8接口。
如同其他插件一样使用 Package Control 来安装。
- 按下
Ctrl+Shift+p
进入 Command Control - 输入
install
进入 Package Control: Install Package,注意 : 输入install可能会等待时间较长, - 输入
SublimeLinter-Flake8
。点击即可开始安装.
安装完毕后,显示下图形式,但重启sublime后插件才有效。
重启后随便打开一段代码,如下图
方括号里面即为不符合Flake8规定的语法,将光标放在方括号处可以在状态栏处看到错误原因。
配置优化
在 pycharm 中显示一般都是下划线之类的,优化修改显示形式
打开preferes –> package settings –> sublimelinter –> settings
将sublimelinter.sublime-settings–sublimelinter(default)文件中的代码全部复制——粘贴到sublimelinter.sublime-settings–user文件中;同时将user文件中(约205行) “mark_style”: “outline” 更变为 “mark_style”:“squiggly underline”。修改后将方括号提示转变成下划线提示。
不过我觉得方括号错误提示挺好的,可以培养自己良好的代码习惯。
======2019年01月01日 更新 =======
修改的原因,我将主题修改成浅绿色后,错误提示不明显,所以将其错误提示修改有其他颜色。
将default中的内容全部复制粘贴在user中
修改 styles 中的内容
1 "styles": [ 2 { 3 // 用于确定颜色,例如 region.<colorish> 4 // colorish彩色可以是redish红色、orangish橙色、yellowish淡黄色、 5 // greenish绿色、bluish蓝色、purplish紫色、pinkish粉红色 6 // Used to determine the color. E.g. region.<colorish>, with one of 7 // redish, orangish, yellowish, greenish, bluish, purplish, pinkish. 8 "scope": "region.yellowish markup.warning.sublime_linter", 9 10 // The error type this style definition will match for. 11 // An array which can contain "warning" and/or "error". 12 // If omitted will match both. 13 "types": ["warning"] 14 }, 15 ],
将第 8 行 修改为
"scope": "region.purplish markup.warning.sublime_linter",
此时就将错误提示颜色修改为紫色
7 代码自动补全功能
———– 我安装后出现问题,此步骤跳过,以后不安装该功能—————————-
安装之后尝试,其与Flake8功能有重叠,本打算关闭anaconda的代码检查功能只保留代码自动补全功能,结果报错竟然该一个再报错下一个。
卸载之后依然没有改变形式,只有卸载sublime重新安装了。谁要是知道的话,给我说一下呀!谢谢。
再次追新,后来发现没有代码自动补全确实不好用,又安装了,只是本次安装后,不再配置代码检验 false 项。后来想想还是取消了anacoda的检查,修改方式如下蓝字所示
SublimeCodeIntel 插件(有的说这个插件依赖于另外安装的 CodeIntel 来索引第三方包)可以实现自动补全,但是看里面存在有bug,详细参看——>修复在 ST3 下 SublimeCodeIntel 对 Python 无法自动补全 import 语句里的模块名的问题。就直接换Anaconda插件了。
1、Ctrl+shift+p 打开 Package Control
2、输入install,进入安装对话框
3、输入Anaconda,点击安装
4、安装成功后出现Messages文档信息
5、配置:preferences –> package settings –> anaconda –> settings – default
(实际上,我安装并重启后,已有代码提示信息,可网上搜到资料说“因Anaconda插件本身无法知道Python安装路径,故需要设置Python主程序的实际位置”)
打开后约在100行处可以看到如下内容,或者直接搜索 python_interpreter
/* Default python interpreter This can (and should) be overridden by project settings. NOTE: if you want anaconda to lint and complete using a remote python interpreter that runs the anaconda\'s minserver.py script in a remote machine just use it\'s address:port as interpreter for example: "python_interpreter": "tcp://my_remote.machine.com:19360" */ "python_interpreter": "python",
看过文件中的还是重新配置一下 ,键入Python.exe程序所在的路径,注意将 \ 转换成 / ,
"python_interpreter": "C:/.../Programs/Python/Python37/python.exe",
同时在setting user文件(Preferences->Package Settings->Anaconda->Settings User)中添加如下内容
———————————–忽略—————————————————-
{ "python_interpreter": "C:/Users/zyong/AppData/Local/Programs/Python/Python37/python.exe", "suppress_word_completions":true, "suppress_explicit_completions":true, "comlete_parameters":true, "swallow_startup_errors":true, "anaconda_linting":false, // anaconda 的规范代码与Flake8 在功能上重叠, // 这个使用Flake8,将anaconda规范代码功能false掉 "anaconda_linting": false, "pep8": false }
若没有
"anaconda_linting": false, "pep8": false
——————————忽略—————————————————–
—————————–2018.09.05更新第三次更新start——————————-
1)打开两个文件settings – user 和 settings – default。
Preferences->Package Settings->Anaconda->Settings – user
Preferences->Package Settings->Anaconda->Settings – default
2)将setting – default 中的代码粘贴到 setting – user中
3)约在300行处,进行两处修改
# sublime版本 Sublime Text Build 3176 x64 "anaconda_linter_mark_style": "none", #300行 "anaconda_linter_underlines": false, #305行
相关说明及后记
其实当时看到是满屏幕的白色方框,记得在前面 SublimeLinter-flake8 优化配置中有 “mark_style”: “outline” 更变为 “mark_style”:“squiggly underline”
所以就打开anacoda的配置文件,搜索outline,发现确实有相关信息,翻译和修改值尝试,正好解决,为了规范合理,将setting – default中的代码信息粘贴到setting – user中进行修改,保存。
原文信息如下:
/* If \'outline\' (default), anaconda will outline error lines. 如果\'outline\'(默认),anaconda将概述错误行。 If \'fill\', anaconda will fill the lines. 如果\'填充\',anaconda将填补线。 If \'solid_underline\', anaconda will draw a solid underline below regions. 如果\'solid_underline\',anaconda将在区域下方绘制一个坚实的下划线。 If \'stippled_underline\', anaconda will draw a stippled underline below regions. 如果\'stippled_underline\',anaconda将在区域下方绘制一个点状下划线。 If \'squiggly_underline\', anaconda will draw a squiggly underline below regions. 如果\'squiggly_underline\',anaconda将在地区下面绘制一个波浪形的下划线。 If \'none\', anaconda will not draw anything on error lines. 如果\'none\',anaconda将不会在错误行上绘制任何内容。 */ "anaconda_linter_mark_style": "outline", /* If this is set to false, anaconda will not underline errors. 如果将其设置为false,则anaconda不会强调错误。 */ "anaconda_linter_underlines": true,
备注,如果该段代码中没有{ } 时,需将最外层添加 { } ,否则会报错
error trying to parse settings unexpected trailing characters in packages/user/
Unexpected trailing characters?
—————————–2018.09.05更新第三次更新end——————————-
—————————–2018.12.23更新第三次更新start——————————-
由于想用ubuntu系统(重新安装了win10 & Ubuntu双系统),结果一直FQ不成功,后来还只能用Win10继续学习Tensorflow。
在配置sublime时发现,在安装PEP8后,将下端代码放在了
preferences –> package settings –> anaconda –> settings – User 中
/* If this is set to true, anaconda will show errors inline. */ "anaconda_linter_phantoms": true,
运行代码时出现如下情况
满屏都是 E501报错
遂打开:preferences –> package settings –> anaconda –> settings – Default 文件
检索关键词“ E501” ,
显示 E501 – Try to make lines fit within –max-line-length characters.
然后再检索 “ max-line-length ” 无果,再继续检索 “ max ” ,得到了 ‘ 4 matches ’
// Maximum line length for pep8
“pep8_max_line_length”: 79,
同时偶然看见了下段代码
“pep8_ignore”:
[
“E309”
],
我就将 pep8_ignore 粘贴到Anaconda.sublime-setting-User中
"pep8_ignore": [ "E309", "E501" ],
保存后发现该E501报错消失。
—————————–2018.12.23更新第三次更新start——————————-
这段代码,可能会出现一个警告或语法错误处出现了多个方括号,这是由于Flake8 和 anaconda 均报错造成的。
anaconda插件的主要功能:
1、代码自动补全
2、显示python类,方法或函数的使用方法
3、检查导入模块是否有效
4、按照PEP8规范自动化格式我们的代码
5、可以跳转到函数的定义或者类的定义
6、Goto Definitions 能够在你的整个工程中查找并且显示任意一个变量,函数或者类的定义。
7、Find Usage 能够快速的查找某个变量,函数或者类在某个特定文件中的什么地方被使用了。
8、Show Documentation: 能够显示一个函数或者类的说明性字符串(当然,是在定义了字符串的情况下)
=============2019年01月01日 更新 ==============
preferences –> package settings –> anaconda –> settings – User 中添加
"anaconda_linter_mark_style": "none",
忽略anaconda错误提示
8 关于卸载sublime
由于安装 anacoda 插件时出现问题,我卸载sublime又重新安装,发现以前安装的插件依然存在。
看到将插件直接删除
打开对话框
将Packages中所有文件删除。
也可以采用 “Remove Packages 移除一个指定的插件 ” 来完成
为了保证一次性成功,将注册表中的sublime信息、C盘全部的sublime信息通过检索全部删除。再安装后,达到预期效果。
Win+R 运行中输入 “RegEdit”
9 自动保存
1)Ctrl+shift+p调出命令面板
2)在搜索框中输入Preferences 找到 Preferences:Settings – User 点击
3)打开package control.sublime-settings 文件如下图
或者打开preferences –> package settings –>package control –> settings – user ,点击settings – user,也出现类似的对话框
在package control.sublime-settings文件中末尾追加一行代码
"save_on_focus_lost": true,
设置后每次文件失去焦点后就会自动保存,就不用手动保存了。
参考:让你用sublime写出最完美的python代码–windows环境
10 打开左侧边
view –> side bar –> show open files
打开后就可以显示当前打开了那些文件
11 创建project
打开左侧边可以更好地查看 project 的树形结构:
project –> add folder to project 就可以创建一个project,在右侧边栏打开的情况下可以看到project的树形结构。
12 代码格式化工具
一直没有找到相关更好的工具,网上找的没有效果,等发现插件继续补充
13 快捷方式
参考 前端神器Sublime Text下载、使用教程、插件推荐说明、全套快捷键 中的第三项 主要快捷键列表:
———————–2018年12月23日更新——————————
14 一些快捷键运行
ctrl + ` 在sublime中打开sublme执行命令控制面板Terminal,重复则为关闭
ctrl + b 在sublime中直接运行文件,并在sublme下方输出运行结果。
ctrl + shift + b 与 ctrl + b 的效用类似,只是多了选择的功能。
15 sublime字体设置
由于sublime默认的字体看着不太好,所以就想配置 楷体 或者 微软雅黑
楷体 显示汉字看着舒服但是英文字母显示不好。
最后改成 Times New Roman
也即在Preferences -> Settings User文件中添加
"font_face": "Times New Roman",
16 sublime 主题颜色设置
黑色的主题色感觉不爽,就想换成护眼色。
在Preferences中使用Color Scheme 以及 Theme中的背景颜色没有合适的,就在网上找了一下,有个浅绿色的
下图是安装后的颜色,感觉还挺好的。
1 下载文件 https://github.com/waer24/sublimeTheme
2 配置文件
将下载后的压缩包解压到一个文件中,我将其解压到sublime的Package -> User中了
(打开方式 preferences –> Browse Package -> User )
同样在Preferences ——> settings 文件右边的User文件代码中修改
"color_scheme": "Packages/User/sublimeTheme-master/Darcy.tmTheme",
注意,我填入的是文件的绝对路径,保存后,其自动修改为相对路径。
3 保存即可使用
===2019.05.20更新=====
a、常见插件
ConvertToUTF8 :解决中文问题
Colorsublime – Themes:Colorsublime 的主题集合
SublimeREPL:Python运行
SideBarEnhancements:侧栏增强功能
Alignment:自动对齐,ctrl+alt+a
Anaconda:python插件集合,禁用PEP8提示:Sublime > Preferences > Package Settings > Anaconda > Settings – User: {“anaconda_linting”: false}
SublimeLinter-pep8
b、主题配置:打开 Preferences > Settings (若报错,注意下图红色标记内容color_scheme整行替换)
{ "auto_indent": true, "bold_folder_labels": true, "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme", "draw_white_space": "all", "font_size": 20, "font_face": "Consolas", "highlight_line": true, "ignored_packages": [ ], "preview_on_click": false, "rulers": [ 100 ], "save_on_focus_lost": true, "scroll_past_end": true, "show_encoding": true, "show_full_path": true, "show_line_endings": true, "smart_indent": true, "tab_size": 4, "translate_tabs_to_spaces": true, "trim_automatic_white_space": true, "trim_trailing_white_space_on_save": true, "use_tab_stops": true, "word_wrap": true, "wrap_width": 80 }
c、自定义快捷键盘配置:打开Preferences > Key Bindings输入如下代码,F5运行程序,F6切换IDEL工具,ctrl+d自定义删除行,其他快捷键是通用的,网上很多快捷键的资料,这里不赘述。
[ { "keys": ["f5"], "caption": "SublimeREPL: Python - RUN current file", "command": "run_existing_window_command", "args": { "id": "repl_python_run", "file": "config/Python/Main.sublime-menu" } }, { "keys": ["f6"], "caption": "SublimeREPL: Python", "command": "run_existing_window_command", "args": { "id": "repl_python", "file": "config/Python/Main.sublime-menu" } },{ "keys": ["ctrl+d"], "command":"run_macro_file", "args": {"file":"res://Packages/Default/Delete Line.sublime-macro"} } ]
d、分屏:
ALT+shift+1单屏,ALT+shift+2左右分屏,ALT+shift+8上下分屏,
e、如果没有自动提示,可以如下配置,打开Preferences >Package Settings >Anaconda >Setting Default输入:Administrator改为你计算机的名字
"python_interpreter": "C:/Users/Administrator/Anaconda3/python.exe"
打开Preferences >Package Settings >Anaconda >Setting Users输入:Administrator改为你计算机的名字
{ "python_interpreter":"C:/Users/Administrator/Anaconda3/python.exe", "suppress_word_completions":true, "suppress_explicit_completions":true, "complete_parameter":true, }
到此,完成全部配置工作
摘自:白宁超的博客《【Machine Learning】Python开发工具:Anaconda+Sublime 》