如何修改Sublime text 3 的默认自动补全? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hhrmatata
V2EX    Sublime Text

如何修改Sublime text 3 的默认自动补全?

  •  
  •   hhrmatata 2014-01-12 00:02:32 +08:00 19538 次点击
    这是一个创建于 4323 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本来在Sublime text 2 中是可以直接修改的,但是3中的默认补全是在cache文件中,如何修改?
    比如,C++ 中的 if 语句的自动补全为:

    if (/* condition */)
    {
    /* code */
    }

    但是我想修改为这样(大家懂的,不要讨论哪个好):

    if (/* condition */) {
    /* code */
    }

    现在有一种不完美的解决办法是自己再定义一个 snippet, 但是原来的自动补全还是会存在。

    所以请问,如何直接修改默认自动补全?
    9 条回复    1970-01-01 08:00:00 +08:00
    liberize
        1
    liberize  
       2014-01-12 09:57:25 +08:00
    直接改默认的snippet? 不过这样升级后修改会丢失。
    liberize
        2
    liberize  
       2014-01-12 10:03:19 +08:00
    {SUBLIME_PATH}/Packages/C++.sublime-package
    这是一个zip文件,解压后找到if-..-(if).sublime-snippet,修改即可
    bearcat001
        3
    bearcat001  
       2014-01-12 14:10:17 +08:00 via iPhone
    我赶脚修改3里面自带的东西很危险,随时可能被覆盖,还是自己定义的好,st的好处不就是自定义容易?
    liberize
        4
    liberize  
       2014-01-12 14:49:37 +08:00
    额,将修改以后的if-..-(if).sublime-snippet扔到用户的Packages/C++目录里面,应该可以覆盖默认的snippet,楼主可以试一下
    hhrmatata
        5
    hhrmatata  
    OP
       2014-01-12 22:22:49 +08:00
    @liberize sublime text 3 里面的的Packages下已经没有C++文件夹了,这点和2不一样。所有的语法相关的文件好像都在Cache文件夹中,所有文件都是Cache文件。

    将修改以后的if-..-(if).sublime-snippet扔到用户的Packages/User目录里面并没有覆盖默认的snippet,而是两个snippet同时出现在自动补全中。
    hhrmatata
        6
    hhrmatata  
    OP
       2014-01-12 22:23:44 +08:00
    @bearcat001 自定义是挺容易的,我就是想问如何用自定义覆盖默认的snippet。
    liberize
       
    liberize  
       2014-01-12 23:31:59 +08:00   2
    @hhrmatata 刚测试了一下,用户目录的snippet确实不能覆盖默认snippet,但是修改**sublime安装目录**下的Packages/C++.sublime-package压缩包里面的snippet(即默认snippet)是可以的。
    ST3中自带的包都以sublime-package形式存在于安装目录下的Packages文件夹中,在用户的Packages文件夹中是没有的。
    再强调一次,我说的是安装目录下。
    hhrmatata
        8
    hhrmatata  
    OP
       2014-01-15 10:03:15 +08:00
    @liberize V2EX 自动提醒好像出问题了,现在才看到你的回复。
    果然修改安装目录下的Packages/C++.sublime-package就可以了。非常感谢。

    如果能在用户目录下覆盖就好了。
    Troland
        9
    Troland  
       2014-04-07 01:17:15 +08:00
    怎么我复制到安装目录下是不行的。我复制到了用户目录下了。就是选择st3中的browser packages打开的那个目录是可以用的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1309 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 17:12 PVG 01:12 LAX 09:12 JFK 12:12
    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