本文針對(duì) webstrom 用戶,非該用戶請(qǐng)繞道。本文旨在提高閣下的編程效率。
在編程開發(fā)中,有兩種 template (模板),文件模板和代碼模板。文件模板指在你新建目錄時(shí),就為你創(chuàng)建好文件需要的基本結(jié)構(gòu),比如:html文件,需要生成好 如下的結(jié)構(gòu):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
文件模板,你需要改動(dòng)的內(nèi)容很少,一般編輯器做好的幾種模板就夠你使用。另外 一種是代碼模板,軟件開發(fā)時(shí),你經(jīng)常要輸入重復(fù)性的繁瑣的代碼,比如 require、modelu.exports ,或者 new SomeClass() 等等,重復(fù)的勞動(dòng)意味著浪費(fèi)時(shí)間。
有沒(méi)有更加快捷的方式,讓我們輸入這些代碼呢?
** 以下文字,以 javascript 為例,其他的編程語(yǔ)言 html、css、php 也是一樣的道理。**
有!

在筆者的開發(fā)環(huán)境中,只需要輸入
re ,再按tab鍵,可以輸出
module.exports = {
//光標(biāo)位置
}
DEMO

光標(biāo)位置又到可以編輯的位置,開發(fā)效率提升多少,可想而知了吧。
最快的安裝辦法
為了安裝這些模板,你需要拷貝 XML 文件到相應(yīng)的 webStrom 或者 phpStrom 目錄
-
Windows: [your home directory].[product name][version number]\config\templates
Example:
C:\Users\Windows-User\.WebStorm6\config\templates\ Linux: ~.[product name][version number]\config\templates
MacOS: ~/Library/Preferences/[product name][version number]/templates
你需要拷貝的是這個(gè)文件 https://github.com/shanelau/live-template/blob/master/JavaScript.xml
配置步驟
- 進(jìn)入設(shè)置界面
- 搜索
Live Templates
結(jié)果頁(yè)面就是實(shí)時(shí)模板的編輯界面 - 點(diǎn)開
javascript,點(diǎn)擊右側(cè)的+號(hào),選擇live template - 或者你可以選擇
template group, 用來(lái)建立一個(gè)新的組
比如nodejs
- 點(diǎn)開
- 點(diǎn)擊新建
live template后,在新彈出的輸入框中,
填入相應(yīng)的數(shù)據(jù)abbreviation-
description描述這個(gè)快捷模塊的功能 -
Template text模板代碼
- 輸入框的下面有一個(gè) 藍(lán)色的
define選擇,表示選擇該模板的作用范圍,將會(huì)在哪些文件中生效

語(yǔ)法說(shuō)明
-
$VAR$可以定義一個(gè)變量 -
$ARRAY$可輸入一個(gè)數(shù)組 -
$PARAM$可變長(zhǎng)度參數(shù) -
$END$光標(biāo)結(jié)束符號(hào)
更多模板
javascript 或者 nodejs
ce
輸出錯(cuò)誤信息
console.error($err$);
cl
輸出log信息
console.log($END$);
if
if ($PARAM$) {
$END$
}
me
模塊導(dǎo)出
module.exports = {
$END$
}
re
引入模塊
$name$ = require('$name$')$END$
th
then 函數(shù)
then(function($PARAM$){
$END$
});
ca
捕獲異常
catch(function(err){
$END$
})
f
function $NAME$($PARAM$) {
$END$
}
fn
function ($PARAMETERS$) {
var me = this;
$END$
}
ife
if ($CONDITION$) {
$END$
} else {
}
?
Conditional operator that assigns a value to a variable based on some condition
$VAR$ = ($CONDITION$) ? $VAL1$ : $VAL2$
switch
'switch' statement
switch ($EXPRESSION$) {
case $EXPVALUE1$:
$END$
break;
case $EXPVALUE2$:
break;
default:
}
try
try {
$END$
} catch (err) {
}
for
len = $ARRAY$.length;
for ($INDEX$ = 0; $INDEX$ < len; $INDEX$++) {
$VAR$ = $ARRAY$[$INDEX$];
$END$
}
forin
for (prop in $OBJ$) {
if ($OBJ$.hasOwnProperty(prop)) {
$END$
}
}