1、代碼片斷html
開發人員不少時候是在作一些重複的工做。python
針對不一樣數據表的增刪改查都差很少,重複來重去的。好久不寫程序了,利用十一假期在家看看書,寫寫程序。git
最近一直很喜歡使用Sublime Text,發現它的代碼片段管理功能不錯,只要輸入事先定義好的短語,大段的代碼片斷就能夠自動填充進來。還能夠定義變量。vim
如PHP代碼。可使用 ${0}的方式定義每個參數,其它依次類推。若是想在代碼片斷中保留$符,只要在$前面加上\就能夠了。如: \$datasegmentfault
設置步驟以下:windows
1,選擇Tools -》 New Snippet編輯器
這樣將會建立一個空的代碼片斷模板。以下:ide
在[ ]
中間放入你的代碼,想替換哪兒個關鍵詞就用${} 來改寫,中間的數字爲光標的順序,按TAB鍵進行切換。svn
tabTrigger:爲在編輯器中輸入的關鍵詞,而後按TAB鍵
scope:爲在哪兒類源程序中起做用,固然能夠不設置
description:爲提示說明信息函數
寫好後,保存。記住必定要保存爲 .sublime-snippet 擴展名。若是打開一個已存在的,能夠經過Preferences -》Browse Packages 在user目中就能夠找到了。請注意,我使用的是MAC的本本,不知道windows系統下在什麼位置,沒在windows下用過這個軟件。
下面是我寫的一個小模板:
用Sublime Text 3 很順手,但是在寫PHP程序時候調試並不方便,寫PHP程序仍是用PhpStorm好用,我用的是PhpStorm6 。通過了上面的狀況,就想在PhpStorm下是否是也能這樣作呢。通過研究發現這個開發工具也能夠,真是很爽啊。 提示:在編輯器中 command + J 就能夠有提示了。在windows下應該ctrl + J 。
使用方式是:
在Preferences裏有一個 Live Templates 設置項,那兒裏面有很多例子,能夠試試啊。模板的編輯方式與上面Sublime Text差很少。只是這兒裏不須要用\來轉義。
若是想在模板中保留$符,只要輸入$$就能夠了。還支持設置參數的默認值及輸出後自動格式化。
善用開發工具,開發效率會大大的提升。
ctrl+` or
sublime text 3
sublime text 2
1
|
import
urllib2,os,hashlib; h
=
'7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'
; pf
=
'Package Control.sublime-package'
; ipp
=
sublime.installed_packages_path(); os.makedirs( ipp )
if
not
os.path.exists(ipp)
else
None
; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by
=
urllib2.urlopen(
'http://sublime.wbond.net/'
+
pf.replace(
' '
,
'%20'
)).read(); dh
=
hashlib.sha256(by).hexdigest();
open
( os.path.join( ipp, pf),
'wb'
).write(by)
if
dh
=
=
h
else
None
;
print
(
'Error validating download (got %s instead of %s), please try manual install'
%
(dh, h)
if
dh !
=
h
else
'Please restart Sublime Text to finish installation'
)
|
}
個人配置:
{
「default_encoding」: 「UTF-8″,
"auto_complete_commit_on_tab": false,
"auto_complete_delay": 0,
"auto_complete_with_fields": true,
"auto_indent": true,
"auto_match_enabled": true,
"bold_folder_labels": true,
"caret_style": "wide",
"color_scheme": "Packages/Color Scheme - Default/Monokai Bright.tmTheme",
"fade_fold_buttons": false,
"fold_buttons": true,
"font_face": "Consolas",
"font_options":[],
"font_size": 13,
"highlight_line": true,
"hot_exit": false,
"ignored_packages":[],
"match_brackets_angle": true,
"match_brackets_content": true,
"match_tags": true,
"remember_open_files": false,
"smart_indent": true,
"tab_size": 4,
"word_wrap": "false"
}
快捷鍵:
[
{ "keys": ["ctrl+["], "command": "exit_insert_mode"},
{ "keys": ["ctrl+h"], "command": "left_delete"},
{ "keys": ["alt+h"], "command": "move", "args": {"by": "characters", "forward": false} },
{ "keys": ["alt+l"], "command": "move", "args": {"by": "characters", "forward": true} },
{ "keys": ["alt+k"], "command": "move", "args": {"by": "lines", "forward": false} },
{ "keys": ["alt+j"], "command": "move", "args": {"by": "lines", "forward": true} },
{ "keys": ["ctrl+j"], "command": "insert", "args": {"characters": "\n"} },
{ "keys": ["ctrl+i"], "command": "auto_complete" },
{ "keys": ["ctrl+i"], "command": "replace_completion_with_auto_complete", "context":
[
{ "key": "last_command", "operator": "equal", "operand": "insert_best_completion" },
{ "key": "auto_complete_visible", "operator": "equal", "operand": false },
{ "key": "setting.tab_completion", "operator": "equal", "operand": true }
]
}
{ "keys": ["ctrl+d"], "command": "right_delete" },
{ "keys": ["alt+s"], "command": "save" },
]