Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Writing custom completions in Sublime Text 2

Sublime Text 2 comes with many built-in completions/templates for common idioms. In C++, these include for loops with fields, etc - if I wrote vec and pressed tab, it would expand to std::vector<field> v; where field is a writeable field. Many of these are written in a style that I do not like or do not provide things that I would like them to, and some that I want to use do not exist. Is there a way to modify these built-in "completions" and write my own?

like image 746
jclancy Avatar asked Jun 18 '12 14:06

jclancy


2 Answers

You can edit the default ones by editing the files that generate them inside of your Packages directory. Just browse through the folders to the specific language or check the Default folder to find the right file to edit for one of the defaults.

You can create custom snippets as well as modify the default ones by going to Preferences > Browse Packages > User and creating a new file with the .sublime-snippet extension.

Then inside the file paste the following:

<snippet>
    <content><![CDATA[Type your snippet here]]></content>
    <!-- Optional: Tab trigger to activate the snippet -->
    <tabTrigger>xyzzy</tabTrigger>
    <!-- Optional: Scope the tab trigger will be active in -->
    <scope>source.python</scope>
    <!-- Optional: Description to show in the menu -->
    <description>My Fancy Snippet</description>
</snippet>

More info here.

Alternatively, you can go to Tools > New Snippet and it will open the snippet template in a new file that you can then save and name with the same extension as above.

Another option, is this way using the Gist package. The only thing I don't like about this setup is it creates a new file with the snippet rather than pasting it into your current file at your cursor. Still it is good for coordinating your most used snippets across several computers.

like image 175
Valjas Avatar answered Oct 01 '22 00:10

Valjas


I believe you're looking to customize the snippets.

Go to Preferences --> Browse Packages --> C++ and make whatever changes you need :)

like image 22
Terry Avatar answered Oct 01 '22 00:10

Terry