[TOC]

sublime line 中文输出乱码

解决方案:

在原先更换的编译的系统文件中,如Tools–>Bulid system->New Buliding System,确定编译文件所在地,然后打开他,在最后一行增加"encoding": "cp936"即可

我的系统原先在C:\Users\Ceaser\AppData\Roaming\Sublime Text 3\Packages\User这个目录下

1
2
3
4
5
6
{
"cmd": ["H:/Anaconda/envs/tensorflow-gpu/python.exe", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.pythona",
"encoding": "cp936" //
}

Sublime text3 python代码自动补全

Sublime text3 有一定的代码补全能力 但是相较Pycharm来说差了许多,查不多类似于notepad++.但是相较pycharm来说 更喜欢Sublime text3的UI,所以使用Sublime text中提供的插件来进行一定的更改,使其也能自动补全

网络上的博客有好有坏 我总结了自己可以成功的一种方式

安装SublimeCodeInte

1 由 Tools -> Command Palette 打开 Sublime 命令面板(快捷键 Ctrl+Shift+P)。

2 输入 install,选择 Package Control: Install Package,稍等以获取最新的 Package 列表。

可能会出现的一种bug ,国内很可能会出现的BUG,不要问,问就是墙

报错:Package Control  There are no packages available for installation  Please see                                  https://packagecontrol.io/docs/troubleshooting for help


解决:有的网络不会报错,若报错了,就直接百度一下就好,很多教程(你若有翻墙的,就一定不会报错)

3 选择 SublimeCodeIntel 安装(如果使用下载包进行安装,那算了,别安装了,后面的事情你肯定做不成功

4 利用pip 安装好自己本地环境python中的sublimeCodeiInte(重要!!!)输入以下命令进行安装:

1
pip install codeintel

配置

选择 Perference-Package Settings-SublimeCodeIntel,复制以下配置到Settings-User

我的配置内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"codeintel_language_settings": {
"Python3": {
"python3": "H:\\Anaconda\\envs\\tensorflow-gpu\\python.exe",
"codeintel_scan_extra_dir": [
"",
"H:\\Anaconda\\envs\\tensorflow-gpu\\python36.zip",
"H:\\Anaconda\\envs\\tensorflow-gpu\\DLLs",
"H:\\Anaconda\\envs\\tensorflow-gpu\\lib",
"H:\\Anaconda\\envs\\tensorflow-gpu",
"C:\\Users\\Ceaser\\AppData\\Roaming\\Python\\Python36\\site-packages",
"C:\\Users\\Ceaser\\AppData\\Roaming\\Python\\Python36\\site-packages\\win32",
"C:\\Users\\Ceaser\\AppData\\Roaming\\Python\\Python36\\site-packages\\win32\\lib",
"C:\\Users\\Ceaser\\AppData\\Roaming\\Python\\Python36\\site-packages\\Pythonwin",
"H:\\Anaconda\\envs\\tensorflow-gpu\\lib\\site-packages"
],
"codeintel_scan_files_in_project": true,
"codeintel_selected_catalogs": []
},
}
}

如果不知道那个codeintel_scan_extra_dir的

开一个python 脚本窗口,输入以下命令,看最后的输出

1
2
import sys
sys.path

配置快捷键

选择 Perference -> Package Settings -> SublimeCodeIntel -> Key Bindings-User 复制以下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[
{
"keys": ["f5"],
"caption": "SublimeREPL:Python",
"command": "run_existing_window_command", "args":
{
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"
}
},
//自动提示代码
{
"keys": ["ctrl+j"],
"command": "code_intel_auto_complete"
},
//跳转到函数定义
{
"keys": ["alt+right"],
"command": "goto_python_definition"
},
//返回到跳转位置
{
"keys": ["alt+left"],
"command": "back_to_python_definition"
}
]

注:我是用ctrl + J 这个自动提示代码键方便用哦
参考链接:https://blog.csdn.net/wto882dim/article/details/99904305

ctrl+鼠标左键跳转函数

选择 Perference  ->  Package Settings  ->  SublimeCodeIntel  ->  Mouse Bindings - User  复制以下配置: 

1
2
3
4
5
6
7
8
9
[
//ctrl+鼠标左键跳转函数
{
"button": "button1",
"modifiers": ["ctrl"],
"command": "goto_python_definition",
"press_command": "drag_select"
}
]

来到这里,你就试着能不能代码自动补全!! 退出sublime text 重新打开(重启)

应该是不行的哦!!

重点来了!重点来了!重点来了!重点来了!重点来了!重点来了!
进入:https://github.com/srusskih/SublimeJEDI/blob/master/Completion%20Rules.tmPreferences

1, 把 Completion Rules.tmPreferences的代码保存在同名(Completion Rules.tmPreferences文件,其中有一个空格哦,不能少的) …/Sublime Text 3/Packages/Python文件夹中,若Python 没有就创建。

2, 可能需要删除文件夹 …/Sublime Text 3/Cache 和文件 …/Sublime Text 3/Local/Session.sublime_session,并重启 Sublime Text 后才能生效。

激动人心的时刻到了

退出sublime text 重新打开(重启)

打开一个.py文件,试一试,tab键能不能代码自动补全和ctrl + j 代码提示!