FileHeader is a powerful file templating plugin for SublimeText 2 and SublimeText 3. It makes it easier to create new file with initial contents. It also can add new header to an existed file or directory.
Install Package Control
_. Then Package Control: Install Package, look for
FileHeader and install it.
.. _Package Control: https://sublime.wbond.net/
Go to the "Packages" directory (Preferences / Browse Packages). Then clone this repository::
git clone git@github.com:shiyanhui/FileHeader.git
Or download zip from Github, and put it in "Packages" directory (Preferences / Browse Packages).
Sidebar Menu
.. image:: https://raw.github.com/shiyanhui/FileHeader/master/doc/img/new-file.gif
Shortcuts
The default shortcuts is super+alt+n on OS X, ctrl+alt+n on Windows and Linux.
Context Menu
Similar to Sidebar Menu.
Sidebar Menu
.. image:: https://raw.github.com/shiyanhui/FileHeader/master/doc/img/add-header.gif
Shortcuts
The default shortcuts is super+alt+a on OS X, ctrl+alt+a on Windows and Linux.
Context Menu
Similar to Sidebar Menu.
Sidebar Menu
.. image:: https://raw.github.com/shiyanhui/FileHeader/master/doc/img/add-header-dir.gif
A very important feature of FileHeader is that it can automatically update last_modified_time and last_modified_by (see options below). Just look this picture, take care of the @Last modified time: before save and after save:
.. image:: https://raw.github.com/shiyanhui/FileHeader/master/doc/img/update.gif
There are two kinds of arguments: options and kinds of languages variables settings. options is the functional setting, Default is the default language variables settings. Language variables setting will cover that in Default.
Open Preferences => Package Settings => File Header => Settings - Default for more details.
FileHeader use Jinja2 template, find out how to use it
here <http://jinja.pocoo.org/docs/>
.
The template is made up of header and body. You also can write you own templates. Take the Python template header Python.tmpl for example.
.. code-block:: ++
# -*- coding: utf-8 -*-
# @Author: {{author}}
# @Date: {{create_time}}
# @Last modified by: {{last_modified_by}}
# @Last Modified time: {{last_modified_time}}
{{ }} is variable, you can set it in setting files. create_time will be set when you create a new file using FileHeader, last_modified_time and last_modified_by will be update every time you save your file.
You can define your functions and classes or other contents in your body file. Also take Python template body for example.
.. code-block:: python
class MyClass(object):
pass
if __name__ == '__main__':
pass
How to customize my headers?
Set custom_template_header_path to your path of customized header in user-settings, for example, ~/header/
NOTE: DO NOT modify directly that in Packages/FileHeader
What if FileHeader conflicts with other file template plugin?
For example, FileHeader and Javatar conflicts in files with extension .java.
The solution is, open any file with extension .java in sublime text, and open Preferences ==> Settings - More ==> Syntax Specific - User, then add "enable_add_template_to_empty_file": false.
What if key-map of FileHeader conflicts with others?
Just change that of FileHeader or others.
FileHeader for Atom <https://github.com/guiguan/file-header>
by guiguan <https://github.com/guiguan>
If you have any questions, please let me know. 🙂
.. _Jinja2: http://jinja.pocoo.org/docs/