Atom编辑器折腾记_(15)JS代码片段补全(插件:javascript-snippets)

题外话

这款插件就比較重量级了….用熟悉了写原生JS的效率要提升非常多……并且,不仅支持JS还包括了nodejs snippet


javascript-snippets

插件作者: zenorocha

Github地址 : https://github.com/zenorocha/atom-javascript-snippets

内置了丰富的JS snippet . 并且也非常好理解和记忆…耍多了会上手的


安装

  • 在设置中心搜索安装


代码片段(Tab或者Enter补全)

Console命令

[cd] console.dir — 这条命令能够遍历一个对象内容

console.dir(${1:obj});

[ce] console.error — 打印出信息带有错误图标

console.error(${1:obj});

[cl] console.log — 打印出信息

console.log(${1:obj});

[cw] console.warn — 打印带有警告图标的信息

console.warn(${1:obj});

DOM — 文档对象模型

[ae] addEventListener — 事件监听

${1:document}.addEventListener(‘${2:event}‘, function(e) {
    ${0:// body...}
});

[ac] appendChild — 添加子元素

${1:document}.appendChild(${2:elem});

[rc] removeChild — 删除子元素

${1:document}.removeChild(${2:elem});

[cel] createElement — 创建元素

${1:document}.createElement(${2:elem});

[cdf] createDocumentFragment — 创建文档碎片节点

${1:document}.createDocumentFragment(${2:elem});

[ca] classList.add — 冷门属性,为了解决className不能解决出现..没用过

${1:document}.classList.add(‘${2:class}‘);

[ct] classList.toggle — 同上

${1:document}.classList.toggle(‘${2:class}‘);

[cr] classList.remove — 同上

${1:document}.classList.remove(‘${2:class}‘);

[gi] getElementById — 获取元素ID

${1:document}.getElementById(‘${2:id}‘);

[gc] getElementsByClassName — 获取元素类名[返回值为数组]

${1:document}.getElementsByClassName(‘${2:class}‘);

[gt] getElementsByTagName — 获取标签集合[返回值是一个nodeList,非数组]

${1:document}.getElementsByTagName(‘${2:tag}‘);

[ga] getAttribute — 获取属性值

${1:document}.getAttribute(‘${2:attr}‘);

[sa] setAttribute — 设置属性值

${1:document}.setAttribute(‘${2:attr}‘, ${3:value});

[ra] removeAttribute — 移除属性值

${1:document}.removeAttribute(‘${2:attr}‘);

[ih] innerHTML — 代码块插入html结构

${1:document}.innerHTML = ‘${2:elem}‘;

[tc] textContent — 纯文本,裸奔的innerHTML

${1:document}.textContent = ‘${2:content}‘;

[qs] querySelector — HTML5新属性,获取选择器,相似JQ的$(‘div#name’)

${1:document}.querySelector(‘${2:selector}‘);

[qsa] querySelectorAll — 同上,都支持多个选择器,但这个返回一个nodeList

${1:document}.querySelectorAll(‘${2:selector}‘);

Loop

[fe] forEach — 遍历数组或者对象用的方法

${1:myArray}.forEach(function(${2:elem}) {
    ${0:// body...}
});

[fi] for in — 遍历对象用的方法

for (${1:prop} in ${2:obj}) {
    if (${2:obj}.hasOwnProperty(${1:prop})) {
        ${0:// body...}
    }
}

Function

[fn] function — 函数声明

function ${1:methodName} (${2:arguments}) {
    ${0:// body...}
}

[afn] anonymous function —- 匿名函数

function(${1:arguments}) {
    ${0:// body...}
}

[pr] prototype — 原型

${1:ClassName}.prototype.${2:methodName} = function(${3:arguments}) {
    ${0:// body...}
}

[iife] immediately-invoked function expression — 函数表达式

(function(window, document, undefined) {
    ${0:// body...}
})(window, document);

[call] function call — 回调函数

${1:methodName}.call(${2:context}, ${3:arguments})

[apply] function apply — 回调函数

${1:methodName}.apply(${2:context}, [${3:arguments}])

[ofn] function as a property of an object — 函数声明

${1:functionName}: function(${2:arguments}) {
    ${3:// body...}
}

Timer

[si] setInterval — 依据设置时间不断调用的方法

setInterval(function() {
    ${0:// body...}
}, ${1:delay});

[st] setTimeout — 同上,差别在于一般不会反复运行

setTimeout(function() {
    ${0:// body...}
}, ${1:delay});

NodeJS

[ase] assert.equal

assert.equal(${1:actual}, ${2:expected});

[asd] assert.deepEqual

assert.deepEqual(${1:actual}, ${2:expected});

[asn] assert.notEqual

assert.notEqual(${1:actual}, ${2:expected});

[me] module.exports

module.exports = ${1:name};

[pe] process.exit

process.exit(${1:code});

[re] require — 请求模块

require(‘${1:module}‘);

BDD

[desc] describe

describe(‘${1:description}‘, function() {
    ${0:// body...}
});

[ita] it asynchronous

it(‘${1:description}‘, function(done) {
    ${0:// body...}
});

[its] it synchronous

it(‘${1:description}‘, function() {
    ${0:// body...}
});

[itp] it pending

it(‘${1:description}‘);

Misc

[us] use strict — JS语法使用严格模式

‘use strict‘;

[al] alert — 弹窗

alert(‘${1:msg}‘);

[pm] prompt — 提示弹窗

prompt(‘${1:msg}‘);

结束语

这些用熟悉了…. 写代码的速度不说提升百分百…可是添加20%还是有的;

并且另一个优点,不会出现代码漏打字符,打错字符的情况..毕竟模版写死了;

除非參数传错了…..

我也在学习的路上,,,,慢慢的充实自己……………………………

时间: 2024-09-29 16:43:41

Atom编辑器折腾记_(15)JS代码片段补全(插件:javascript-snippets)的相关文章

Atom编辑器折腾记_(13)JS代码智能提示补全(插件:atom-ternjs)

题外话 官方正式版虽然内置了.autocomplete-plus;最为明显的一个功能就是记忆你已经输入过的名称进行匹配; 但是针对于某些语言来说,还是有些不足的-.其中JS的补全上就明显不足了-所以需要借助插件来拓展 atom-ternjs 官方描述: Javascript code intelligence for atom with tern.js. Uses suggestion provider by autocomplete-plus. 简言之,就是JS代码智能提示,个人也希望以后可以

Atom编辑器折腾记_(11)编辑器实时预览HTML页面(插件:Atom HTML Preview)

为何寻找 每次预览HTML页面,都需要打开各种浏览器;哪怕不是调试,只是为了查看下效果; 切换来切换去,各种刷新,感觉有些浪费时间;以前用过DW的实时预览,感觉这个功能很赞; 又踏上了atom插件仓库慢慢寻找之路-.. 插件:atom-html-preview 官方描述:A live preview tool for Atom Editor. 简言之:Atom编辑器内实时预览的工具 获取方式 通过命令行安装 apm install atom-html-preview 通过编辑器内部的instal

Atom编辑器折腾记_(23)加快React开发的插件汇总【浪一波】

前言 汇总下比较实用的atom插件[偏react开发的]-- 暂时应该没有比我更全面的!嘎嘎 atom-react-autocomplete–项目内,组件名及状态的自动补全 autocomplete-js-import–模块导入智能提示 emmet-jsx-css-modules– React内的Emmet补全,非单纯的expand[class => className ]!! language-javascript-jsx – JavaScript, ES6, ES7, React JSX,

Atom编辑器折腾记_(4)按键绑定keymap

简介 Atom编辑器支持自定义按键绑定,文件格式是CSON; 何为CSON 官方解释: This file uses CoffeeScript Object Notation (CSON). 我的解释: JSON + CoffeeScript 写法基本是JSON的写法 按键绑定组成 如图: 设置内的键盘映射图很好的说明了 按键绑定 = 快捷键(Keystroke) + 执行命令(Command) + 来源(Source) + 选择器(Selector) 快捷键不用解释了 执行命令就是按下快捷键所

Atom编辑器折腾记_(6)config.cson基础教程

号外 昨天,atom官方更新了atom的版本; 把之前内置到core的核心插件autocomplete替换成autocomplete plus,还做了许多修正,具体看这里 Notable Changes Atom now bundles Autocomplete Plus and the completion providers for HTML, CSS, Less, Sass, snippets, and the Atom API Opening editors is now signifi

Atom编辑器折腾记_(7)Emmet实例教程

题外话 Atom的emmet插件有些功能给阉割了 说阉割倒不如说atom本身自带的一些功能替代了atom的拓展功能 教程主要是常用的基础知识,在最后我会附上emmet完整简写表,大伙可以把图片在新页面打开另存为 何为Emmet 简言之,Emmet的前身是大名鼎鼎的Zen coding; 功能 snippet(代码片段,不如用专门的片段插件) abbreviation expand(简写展开) 目的 只有一个,加快web开发(编码速度) Emmet基础 知识预备 HTML/CSS标签熟悉掌握 -

Atom编辑器折腾记_(12)Sync-setttings(插件-备份神器)

简述 插件作者:Hackafe 功能描述:Synchronize settings, keymaps, user styles, init script, snippets and installed packages across Atom instances.(简言之就是可以同步Atom的设置文件,自定义快捷键,用户风格,初始化脚本及代码片段,还支持已安装的插件同步) Features Sync Atom's and package settings Sync installed packa

Atom编辑器折腾记_(10)CSScomb增强版[CSS/LESS/SASS]

何为CSScomb 官方网站只有一句描述: Makes your code beautiful(让你的代码更漂亮) 通俗点讲: CSScomb是用来排版CSS代码的-可以说是格式化插件,依赖nodejs 获取CSScomb–这不是今天的话题 官方网站: CSScomb 支持许多编辑器,比如Sublime/Atom/brackets等 第三方CSScomb-这才是今天的话题 昨天写了篇CSS3的文章-发现代码有点混乱..人力排版有点--.所以跑去atom插件库寻找csscomb Atom -> s

Atom编辑器折腾记_(1)介绍下载安装

何为ATOM Atom是专门为程序员推出的一个跨平台文本编辑器.具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言.它支持宏,自动完成分屏功能,集成了文件管理器. 为什么用ATOM 开源 - 遵循MIT协议,代码托管在github上 多平台 - 支持MAC/WIN/LINUX(支持源码编译安装,也提供二进制安装包) 丰富的插件库 - 开源到现在一年了..社区的各种插件丰富起来了,且atom的插件支持在线更新! 类Sublime - 风格和s