修复在 ST3 下 SublimeCodeIntel 对 Python 无法自动补全 import 语句里的模块名的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sylv
V2EX    Sublime Text

修复在 ST3 下 SublimeCodeIntel 对 Python 无法自动补全 import 语句里的模块名的问题

  •  
  •   < href="/member/Sylv">Sylv 2015-02-13 17:39:48 +08:00 9820 次点击
    这是一个创建于 3943 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Before:
    Before

    After:
    After


    修复方法:

    下载修改过的 Completion Rules.tmPreferences,放到 .../Sublime Text 3/Packages/Python 中。

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


    修复方法来源:https://github.com/srusskih/SublimeJEDI/issues/150

    10 条回复    2018-05-20 20:13:48 +08:00
    XiiLii
        1
    XiiLii  
       2018-05-15 11:16:37 +08:00
    没太看明白,我用的是便携版无需安装的 ST3,请问下载的文件名就叫 “ Completion Rules.tmPreferences ” 吗?这个路径下全是文件 “ Sublime Text 3/Packages ” 放这里也不行,能详细点吗?
    Sylv
        2
    Sylv  
    OP
       2018-05-15 12:07:18 +08:00
    @XiiLii
    Sublime Text 菜单里点击 Preferences -> Browse Packages,打开的目录就是 .../Sublime Text 3/Packages/,在此目录下若没有 Python 文件夹就新建一个,把下载的修改版 Completion Rules.tmPreferences (就叫这个名字)文件放到这个 Python 文件夹里。然后可能要删除文件夹 .../Sublime Text 3/Cache 和文件 .../Sublime Text 3/Local/Session.sublime_session 并重启后才会生效。
    XiiLii
        3
    XiiLii  
       2018-05-20 00:13:26 +08:00
    @Sylv 非常感谢,可以了,补充下,我放在 “\Sublime Text Build 3170 x64\Data\Packages\Python ” 目录下,然后重启就可以了,没有清理缓存目录。
    可能我用的是便携版的原因,和你说的路径不太一样,不过也有这个目录 ‘\Sublime Text Build 3170 x64\Packages ’ ,之前放这里不行,但看到你说从 ” Preferences -> Browse Packages “ 这里进去我就猜应该是在 “\Sublime Text Build 3170 x64\Data\Packages\“ 下新建 ” Python “ 目录。果然就可以了。还是谢谢你的提醒
    XiiLii
        4
    XiiLii  
       2018-05-20 01:12:40 +08:00
    又出现了一个问题,比如想使用 requests 对象的方法时,没有提示方法的关键词:如 requests.get() 这又是怎么解决呢?
    先说下:我以为是没清理你说的文件的问题,但我清理之后重启还是没有提示对象的方法名称
    Sylv
        5
    Sylv  
    OP
       2018-05-20 02:05:31 +08:00
    @XiiLii
    SublimeCodeIntel 得依赖另外安装的 CodeIntel 来索引第三方包,但是出于某些原因 CodeIntel 经常会索引出错,于是 SublimeCodeIntel 自动补全就无法正常工作了。你可以试下让 CodeIntel 重新生成索引:
    https://github.com/SublimeCodeIntel/SublimeCodeIntel#regenerate-index

    因为这个原因,我是已经放弃折腾 SublimeCodeIntel,改用 Anaconda 了:
    http://damnwidget.github.io/anaconda/
    XiiLii
        6
    XiiLii  
       2018-05-20 09:35:16 +08:00
    @Sylv anaconda 还真的可以用,不过还是会出现无法导入第三方库的问题,我用了上面同样的方法也可以同样解决,不过它会提示这样一个错误 “ error loading mete info from Packages/Python/Completion Rules.tmPreferences: Error parsing plist xml: expected = in file Packages/Python/Completion Rules.tmPreferences on line 43 ” ,虽然不影响使用,关掉错误提示就可以,但每次都要手动关掉很麻烦,你有遇到这样的问题吗?你怎么解决的?
    Sylv
        7
    Sylv  
    OP
       2018-05-20 14:38:21 +08:00
    @XiiLii
    我没遇到这个问题,看错误提示 Packages/Python/Completion Rules.tmPreferences 文件的第 43 行有语法错误,你检查下这个文件是不是有问题,按道理来说这个修改版的 Completion Rules.tmPreferences 文件应该只有 20 行,你是不是自己之前有修改过?
    XiiLii
        8
    XiiLii  
       2018-05-20 15:42:46 +08:00
    原来如此,我直接下载了 https://github.com/srusskih/SublimeJEDI/blob/master/Completion%20Rules.tmPreferences 这个页面的源代码( 71k 大小)。现在应该不再弹出提示了。
    想问下 anaconda 是不是有个 bug 会导致很多代码被一条条白框框住?除非光标在编辑状态才消失?
    Sylv
        9
    Sylv  
    OP
       2018-05-20 16:01:35 +08:00 via iPhone   1
    @XiiLii 这个不是 bug,是 Anaconda 的代码检查功能,被框住的代码是有语法错误或者是不符合 PEP8 规范,不需要的话可以在设置文件里禁用这个功能:
    http://damnwidget.github.io/anaconda/IDE/#disabling-the-linter
    XiiLii
        10
    XiiLii  
       2018-05-20 20:13:48 +08:00
    没想到 Anaconda 还有代码检查功能,刚刚配置好了,非常感谢你的提醒
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3651 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 00:56 PVG 08:56 LAX 16:56 JFK 19:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86