Js,jQuery版Zencoding之webstorm & phpstorm
zencoding自从2009年因html,css的扩展而风靡业界,而webstorm自从2.0之后就已经集成。
无意中被不断输入的console.log,console.dir搞的很恼火,所以才有了今天的js之webstorm。由于其它编辑器对zencoding的外延不是做的很好,现下流行的编辑器里边,只有webstorm才可以扩展以下提到的命令。当然,他除了扩展js之后,还可以扩展:xml,php(phpstorm),xsl,用户也可以自定义添加:JSP,SQL,Haml或者其它的。只是提供一个思路,抛砖引玉,具体的还要看每个人自己的code习惯。webstorm比eclipse,aptana中的更改zencoding方便之处,不用重启。而比其它ide的好处在于,他可以更改。
1. File -> Settings -> Live Templates (即可手动添加, 也可以下载我添加好的文件,下载后放在:C:\Users\用户名\.WebIde10\config\templates)
这里提几个比较重要简单的扩展原则。
2. 上面文件,左边即为输入部分,右边为扩展后,如果手动添加,还需要在下方 :
No applicable contexts yet. Define
Define中选择你的类型:
//zencoding-js
// C:\Users\jikey\.WebIde10\config\templates
//core
try:
trycatch
ae: addEventListener
at: attachEvent
rn: return null
p: prototype
c: constructor
ag: arguments
ri: return this;
l: length;
v: var
tg: tagName()
rfa: return false;
del: delete
rtr: return true;
re: removeEventListener
det: detachEvent
lh:location.href
lo: location
tr: true;
fa: false;
st: setTimeout()
stf: setTimeout(function(){});
si: setInterval();
sif: setInterval(function(){});
r: return;
// dom相关
w: window
d: document
db: document.body
di: document.getElementById($END$);
dn: document.getElementsByName($END$);
dw: document.write($END$);
dct: document.createTextNode
de: documentElement;
gt: getElementsByTagName
df: document.createDocumentFragment()
dc: document.createElement();
qs: querySelectorAll
// function 相关
bb:
(function(){
$END$
})();
f function $END$(){
}
fc: // 创建一个对象
function $INDEX$(){
}
$INDEX$.prototype = {
name: function (){
}
}
mf:
$END$: function(){
}
va:var $END$ = [];
vf:
var $END$ = function(){
}
vo:
var $END$ = {
name: function(){
}
}
rm: return {
$end$: function(){
}
}
// 流程控制
fi:
for (var $VAR$ in $ARRAY$) {
$END$
}
for:
for(var i=0,len=arr.length; i<len; i++{
$END$
}
if:
if($END$){
}
ifel:
if($END$){
} else {
}
while:
while($END$){
}
ifif: if($end$){
} else if(){
}
el: else{}
elif: else if(){}
ib: insertBefore
ap: appendChild
dba: document.body.appendChild
// jQuery
#: $('#$END$')
j: $('$END$')
>: $('.$END$')
fn:
(function($){
$.fn.$END$ = function(options){
var defaults = {
};
opts = $.extend({}, defaults, options);
return this.each(function(){
});
}
})(jQuery);
ji:$(this)
jfl:$().filter()
t.:that.me = me;
i.:this.me = me;
i: this
t that
jc: $().click
jh: $().hover
jl: $().live('click', function(){ });
jd: $().delegate('click', function(){ });
// 其它
fu:function
wd;width()
h:height();
$src:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
// firebug debug
cl: console.log($END$);
cti:console.time('1');
cte:console.timeEnd('1');
// C:\Users\jikey\.WebIde10\config\templates
//core
try:
trycatch
ae: addEventListener
at: attachEvent
rn: return null
p: prototype
c: constructor
ag: arguments
ri: return this;
l: length;
v: var
tg: tagName()
rfa: return false;
del: delete
rtr: return true;
re: removeEventListener
det: detachEvent
lh:location.href
lo: location
tr: true;
fa: false;
st: setTimeout()
stf: setTimeout(function(){});
si: setInterval();
sif: setInterval(function(){});
r: return;
// dom相关
w: window
d: document
db: document.body
di: document.getElementById($END$);
dn: document.getElementsByName($END$);
dw: document.write($END$);
dct: document.createTextNode
de: documentElement;
gt: getElementsByTagName
df: document.createDocumentFragment()
dc: document.createElement();
qs: querySelectorAll
// function 相关
bb:
(function(){
$END$
})();
f function $END$(){
}
fc: // 创建一个对象
function $INDEX$(){
}
$INDEX$.prototype = {
name: function (){
}
}
mf:
$END$: function(){
}
va:var $END$ = [];
vf:
var $END$ = function(){
}
vo:
var $END$ = {
name: function(){
}
}
rm: return {
$end$: function(){
}
}
// 流程控制
fi:
for (var $VAR$ in $ARRAY$) {
$END$
}
for:
for(var i=0,len=arr.length; i<len; i++{
$END$
}
if:
if($END$){
}
ifel:
if($END$){
} else {
}
while:
while($END$){
}
ifif: if($end$){
} else if(){
}
el: else{}
elif: else if(){}
ib: insertBefore
ap: appendChild
dba: document.body.appendChild
// jQuery
#: $('#$END$')
j: $('$END$')
>: $('.$END$')
fn:
(function($){
$.fn.$END$ = function(options){
var defaults = {
};
opts = $.extend({}, defaults, options);
return this.each(function(){
});
}
})(jQuery);
ji:$(this)
jfl:$().filter()
t.:that.me = me;
i.:this.me = me;
i: this
t that
jc: $().click
jh: $().hover
jl: $().live('click', function(){ });
jd: $().delegate('click', function(){ });
// 其它
fu:function
wd;width()
h:height();
$src:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
// firebug debug
cl: console.log($END$);
cti:console.time('1');
cte:console.timeEnd('1');
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述