-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathatom.xml
107 lines (62 loc) · 20 KB
/
atom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>大白话说前端 - 多看源码多读书,勤于思考善领悟</title>
<subtitle>从未如此简单有趣</subtitle>
<link href="/atom.xml" rel="self"/>
<link href="http://www.91h5.cc/"/>
<updated>2022-03-06T10:58:03.149Z</updated>
<id>http://www.91h5.cc/</id>
<author>
<name>shenliyang</name>
</author>
<generator uri="http://hexo.io/">Hexo</generator>
<entry>
<title>史上最全的Webstorm快捷键及技巧</title>
<link href="http://www.91h5.cc/archives/47814.html"/>
<id>http://www.91h5.cc/archives/47814.html</id>
<published>2017-09-21T02:44:48.000Z</published>
<updated>2022-03-06T10:58:03.149Z</updated>
<content type="html"><![CDATA[<blockquote><p>Webstorm是一款前端开发神器,此文介绍webstorm的快捷键和技巧分享。</p></blockquote><p>所谓工欲善其事,必先利其器嘛,想着如果要提高开发效率,那掌握一些常用的快捷键应该是少不了的,所以把webstorm快捷键及技巧分享给大家。持续更新中</p><p>webstorm官方下载地址:<a href="http://www.jetbrains.com/webstorm/" target="_blank" rel="noopener">http://www.jetbrains.com/webstorm/</a></p><h2 id="快捷键大全"><a href="#快捷键大全" class="headerlink" title="快捷键大全"></a>快捷键大全</h2><h3 id="编辑类"><a href="#编辑类" class="headerlink" title="编辑类"></a>编辑类</h3><hr><p>【Ctrl + Space 】基本代码完成 (任何类、 方法或变量名称)<br>【Alt + Enter】 展示意图动作和快速修复<br>【Ctrl + P】显示调用方法内参数信息<br>【Ctrl + Q】 快速记录查找<br>【Ctrl + mouse】放在代码上面-显示简短的代码信息<br>【Ctrl + F1】在插入符号显示错误或警告的说明<br>【Alt + Insert】生成代码<br>【Ctrl + Alt + T】快速生成(if..else, try..catch, for, etc.)等<br>【Ctrl + J】插入Live模板<br>【Ctrl + / 】行注释与取消行注释<br>【Ctrl + Shift + / 】块注释与取消块注释<br>【Ctrl + W 】增加选择中代码块<br>【Ctrl + Shift + W 】减少当前所选内容代码块<br>【Alt + Q 】上下文信息<br>【Ctrl + Alt + L 】格式化代码<br>【Ctrl + Alt + I 】自动缩进的行数<br>【Tab / Shift + Tab 】缩进/取消缩进选定的行<br>【Ctrl + X , Shift + Delete】 剪切到剪贴板的当前行或者所选代码块<br>【Ctrl + C】Ctrl + 插入复制当前行或者所选代码块到剪贴板<br>【Ctrl + V】Shift + 从剪贴板插入粘贴<br>【Ctrl + Shift + V 】最近缓冲区粘贴<br>【Ctrl + D】复制当前行或者所选代码块<br>【Ctrl + Y】删除行<br>【Ctrl + Shift + J 】加入行<br>【Ctrl + enter 】拆分行<br>【shift + Enter 】 重新开始一行(无论光标在哪个位置)<br>【Ctrl + Shift + U 】切换选中词或所选代码块的大小写<br>【Ctrl + Shift +]】选中直到代码块的开始<br>【Ctrl + Shift +[】选择直到代码块的结束<br>【Ctrl + Delete】 删除光标右侧的词<br>【Ctrl + backspace】 删除光标左侧的词<br>【Ctrl + NumPad+】展开代码块<br>【Ctrl + NumPad-】折叠代码块<br>【Ctrl + Shift + NumPad+】展开所有代码块<br>【Ctrl + Shift + NumPad-】折叠所有代码块<br>【Ctrl + F4 】关闭当前标签页</p><h3 id="同时编辑多行"><a href="#同时编辑多行" class="headerlink" title="同时编辑多行"></a>同时编辑多行</h3><hr><p>【Alt + Click】 同时选中多行,同时编辑<br>【Shift + Ctrl + Alt + J】选择所有当前选中的词<br>【Alt + J】选择下一个相同的词<br>【Alt + Shift + J】取消所有选中的词<br>【Esc】取消选择所有选中的词或插入符号</p><h3 id="运行类"><a href="#运行类" class="headerlink" title="运行类"></a>运行类</h3><hr><p>【Alt + Shift + F10/F9】 选择配置和运行/调试<br>【Shift + F10/F9】 运行/调试<br>【Ctrl + Shift + F10/F9】 运行/调试上下文配置从编辑器<br>【Alt + Shift + R】 重新运行测试</p><h3 id="调试类"><a href="#调试类" class="headerlink" title="调试类"></a>调试类</h3><hr><p>【F8】不进入函数<br>【F7】 单步执行<br>【Shift + F7】 只能单步执行<br>【Shift + F8】跳出<br>【Alt + F9】 运行到光标处<br>【Alt + F8】 计算表达式的值<br>【F9】 重新开始<br>【Ctrl + f8】 切换断点<br>【Ctrl + Shift + F8】 查看断点</p><h3 id="导航类"><a href="#导航类" class="headerlink" title="导航类"></a>导航类</h3><hr><p>【Ctrl + N】跳转到指定类<br>【Ctrl + Shift + N】 通过文件名快速查找工程内的文件<br>【Ctrl + Alt + Shift + N】 通过一个字符查找函数位置<br>【Alt + Right】进入下一个编辑器选项<br>【Alt + Left】进入上一个编辑器选项<br>【f12】 进入上一个工具窗口<br>【esc】 从工具窗口进入编辑器<br>【Shift + Esc】 隐藏活动窗口<br>【Ctrl + Shift + F4】 关闭活动运行/消息/查找/选项卡<br>【Ctrl + G】 跳转到指定行<br>【Ctrl + E】 弹出最近打开的文件列表<br>【Ctrl + Alt + Left】导航前进<br>【Ctrl + Alt + Right】导航回退<br>【Ctrl + Shift +Backspace】定位到最近编辑窗口<br>【Alt + F1】查找当前选中的代码或文件在其他界面模块的位置<br>【Ctrl + B/Click】跳转到定义处<br>【Ctrl + 单击】转到声明<br>【Ctrl + Alt + B 】跳转方法实现处<br>【Ctrl + Shift + I】打开定义快速查找<br>【Ctrl + Shift + B 】跳转方法定义处<br>【Ctrl + U 】转到超级方法/超级类<br>【Alt + Up/Down】在方法间快速移动定位<br>【Ctrl +]/[】移动到代码块结束/启动<br>【Ctrl + f12】弹出文件结构<br>【Ctrl + H 】类型层次结构<br>【Ctrl + Alt + H】 调用层次结构<br>【F2/Shift + F2】跳转到后一个/前一个错误,在出错的语句之间进行跳转。<br>【F4/Ctrl + Enter】 编辑源代码/查看源代码<br>【Alt + home】 显示导航栏<br>【F11】切换标记<br>【Ctrl + F11】 采用记忆切换标记<br>【Ctrl + #[0-9]】跳转到带编号的标记<br>【Shift + F11 显示书签</p><h3 id="VCS版本控制"><a href="#VCS版本控制" class="headerlink" title="VCS版本控制"></a>VCS版本控制</h3><hr><p>【Alt + 反引号 (‘)】 ‘VCS’ 快速弹出<br>【Ctrl + K】提交项目到VCS<br>【Ctrl + T】 从VCS更新项目<br>【Alt + Shift + C】查看最近的更改</p><h3 id="搜索-替换"><a href="#搜索-替换" class="headerlink" title="搜索/替换"></a>搜索/替换</h3><hr><p>【Ctrl + F】 查找<br>【F3】 查找下一个<br>【Shift + F3】 查找上一个<br>【Ctrl + R】替换<br>【Ctrl + Shift + F】 在路径中找到<br>【Ctrl + Shift + R】 替换路径中的查找</p><h3 id="搜索类"><a href="#搜索类" class="headerlink" title="搜索类"></a>搜索类</h3><hr><p>【Alt + f7】查找实例<br>【Ctrl + f7】在文件中查找实例<br>【Ctrl + Shift + f7】 在文件中高亮实例<br>【Ctrl + Alt + F7】显示实例</p><h3 id="重构类"><a href="#重构类" class="headerlink" title="重构类"></a>重构类</h3><hr><p>【F5】拷贝当前文件<br>【F6】移动当前文件<br>【Alt + delete】 安全删除<br>【Shift + F6】 重命名<br>【Ctrl + Alt + N】嵌入变量<br>【Ctrl + Alt + M】提取函数<br>【Ctrl + Alt + V】引入变量<br>【Ctrl + Alt + C】引入常量<br>【Ctrl + Alt + P】引入参数<br>【Ctrl + F6】改变方法名</p><h3 id="常规类"><a href="#常规类" class="headerlink" title="常规类"></a>常规类</h3><hr><p>【Ctrl + Shift +a】 查找当前<br>【双击shift】查找所有的(包括文件、命令等)<br>【Alt + #[0-9]】 打开相应的工具窗口<br>【Ctrl + Shift + f12】 键切换最大化编辑器<br>【Alt + Shift + F】 将添加到收藏夹<br>【Alt + Shift + I】 检查当前文件与当前配置文件<br>【Ctrl + 反引号 (‘)】快速切换当前计划<br>【Ctrl + Alt + S】 打开设置<br>【Ctrl + Tab】 切换选项卡和工具窗口</p><h2 id="常用插件推荐"><a href="#常用插件推荐" class="headerlink" title="常用插件推荐"></a>常用插件推荐</h2><ol><li><p>Key Promoter【学习快捷键神器】<br>鼠标完成某项操作时,会提示相应的快捷键。</p></li><li><p>activate-power-mode【装*神器】<br>Atom上的神器,安装之后可以在 window -> activate-power-mode中关闭震动以及开启彩色模式。</p></li><li><p>Markdown<br>支持Markdown语法</p></li><li><p>CodeGlance<br>之前用过Sublime编辑器同学,强烈推荐这个,这个插件可以让 webstorm 也具有右侧展示当前文件中代码的缩略图。</p></li></ol><h2 id="常见问题"><a href="#常见问题" class="headerlink" title="常见问题"></a>常见问题</h2><p> webstorm可以像sublime一样多行选择,比如在sublime中全选一个单词然后使用cmd+d,就可以往下选择一样的单词,然后进入多行模式吗?</p><h3 id="逐个选中多个相同的词"><a href="#逐个选中多个相同的词" class="headerlink" title="逐个选中多个相同的词"></a><strong><em>逐个选中多个相同的词</em></strong></h3><p>sublime:Ctrl + D (Ctrl + K可以跳过一个)<br>webstrom:Ctrl + K ( Ctrl + Shift + K 可以回退一个)</p><h3 id="同时选中所有相同的词"><a href="#同时选中所有相同的词" class="headerlink" title="同时选中所有相同的词"></a><strong><em>同时选中所有相同的词</em></strong></h3><p>sublime:Alt + F3<br>webstrom:Ctrl + Shift + Alt + K</p><h3 id="单击左键选择多行"><a href="#单击左键选择多行" class="headerlink" title="单击左键选择多行"></a><strong><em>单击左键选择多行</em></strong></h3><p>sublime:按住Ctrl然后单击左键<br>webstrom:按住Alt然后单击左键</p><h3 id="拖动选择多行"><a href="#拖动选择多行" class="headerlink" title="拖动选择多行"></a><strong><em>拖动选择多行</em></strong></h3><p>sublime:按住Ctrl + Shift + 鼠标右键 拖动<br>webstrom:按住Alt + 鼠标右键 拖动</p>]]></content>
<summary type="html">
<blockquote>
<p>Webstorm是一款前端开发神器,此文介绍webstorm的快捷键和技巧分享。</p>
</blockquote>
<p>所谓工欲善其事,必先利其器嘛,想着如果要提高开发效率,那掌握一些常用的快捷键应该是少不了的,所以把webstorm快捷键及技
</summary>
<category term="工具" scheme="http://www.91h5.cc/categories/%E5%B7%A5%E5%85%B7/"/>
<category term="Webstrorm" scheme="http://www.91h5.cc/tags/Webstrorm/"/>
<category term="快捷键" scheme="http://www.91h5.cc/tags/%E5%BF%AB%E6%8D%B7%E9%94%AE/"/>
<category term="IDE" scheme="http://www.91h5.cc/tags/IDE/"/>
</entry>
<entry>
<title>站在人工智能风口的Python程序员</title>
<link href="http://www.91h5.cc/archives/63096.html"/>
<id>http://www.91h5.cc/archives/63096.html</id>
<published>2017-08-25T08:12:19.000Z</published>
<updated>2022-03-06T10:58:03.149Z</updated>
<content type="html"><![CDATA[<blockquote><p>2017年短短不到三个月的时间,国内AI获投项目已有36个,千万级别融资占据半数以上。</p></blockquote><p>嗯,就是那么霸道。两会刚刚结束,“人工智能”首次被列入政府工作报告,随之而来的是人工智能板块领跑大盘涨势,无疑,这一切将刺激人工智能在多个领域的全面发展。</p><p>大量融资的风口企业,绝对会把钱拿到招揽人才。而现在最流行的人工智能技术栈就是 TensorFlow 和 PyTorch,使用它们就是一份 Python 编程开发工作。一时间,python程序员成了人才市场的“抢手货”,工资待遇也水涨船高了。口说无凭,我们去工作搜索引擎jobui.com找看。一看吓一跳,首先是待遇啊:</p><p><img src="http://img.blog.csdn.net/20170318173404277?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3psYWl5b25naGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="images"></p><p>最高待遇不过万不出奇啊!这还只是广州的情况,估计在北上深三个城市里,两者的差距还要大得多。除了待遇,跑到风口行业写Python,分分钟就是人工智能科学家的光环上身啊,估计大家都要跑得比西方记者还快了。</p><p>乐了Python程序员,苦的就是公司是Python技术栈的传统IT业务的企业了。就别提一般的小企业,连豆瓣、知乎这样的都大受冲击了。豆瓣的洪强宁,也跑去创业做人工智能相关的应用了……</p><p>没有人能够对抗趋势,风口企业这么有钱,能做的就只能是避开它们的锋芒。我觉得Python技术栈的企业应该考虑新的技术选型了。</p>]]></content>
<summary type="html">
<blockquote>
<p>2017年短短不到三个月的时间,国内AI获投项目已有36个,千万级别融资占据半数以上。</p>
</blockquote>
<p>嗯,就是那么霸道。两会刚刚结束,“人工智能”首次被列入政府工作报告,随之而来的是人工智能板块领跑大盘涨势,无疑,这一切
</summary>
<category term="后端" scheme="http://www.91h5.cc/categories/%E5%90%8E%E7%AB%AF/"/>
<category term="python" scheme="http://www.91h5.cc/tags/python/"/>
</entry>
<entry>
<title>JavaScript代码检查工具对比</title>
<link href="http://www.91h5.cc/archives/26064.html"/>
<id>http://www.91h5.cc/archives/26064.html</id>
<published>2017-04-03T07:51:30.000Z</published>
<updated>2022-03-06T10:58:03.149Z</updated>
<content type="html"><![CDATA[<p><img src="http://img.mp.sohu.com/upload/20170727/7be6fe0dbc944f6c8bc36f8a3b28ba87.png" alt="image"></p><p>JavaScript代码校验工具能够让你在写代码时避免一些低级的错误。尽管我有很多年的开发经验,我仍然会犯一些语法错误并且忘记处理我的错误。一个好的校验工具或者格式化工具,可以让我避免这些错误,以免浪费我的时间。一个好的校验工具还能确保一个项目保持一个固定的代码风格。</p><p>有很多关于JavaScript的校验工具,你怎样选择其中的某一个呢?让我们一起来看看它们有什么样的特性以及优缺点。接下来我要介绍四种常用的选择:JSLint,JSHint,JSCS和ESLint。</p><h2 id="Overview"><a href="#Overview" class="headerlink" title="Overview"></a>Overview</h2><p>这四个工具的基本用法都是类似的,它们定义了一套规则用来解析和报告js文件里面的问题。它们都可以通过npm来进行安装。可以通过命令行来调用它们,给命令行传递文件参数,也可以作为grunt这一类工具的插件被使用,或者可以集成到编辑器中。它们都支持使用注释作为配置。</p><p>以上就是它们所有的相似之处了,每一个工具都有优缺点,只是有些工具相比于其它工具更加有优势。</p><h2 id="JSLint"><a href="#JSLint" class="headerlink" title="JSLint"></a>JSLint</h2><p>JSLint是这四种校验工具中最为古老的。Douglas Crockford(译注:《JavaScript 语言精粹》的作者)在2002年创造了它,它是强制使用的,为了保留它所认为的JavaScript这门语言的精华部分。如果你认同他的观点,对你而言,JSLint将会是一个好的工具。安装完成马上即可使用。</p><p>JSLint的缺点是它是不可以进行配置和扩展的。你不能禁用它的某些特性,并且缺乏文档。它的官网并没有什么用处,例如,它缺少如果将这个工具整合到你的编辑器的任何信息。</p><h3 id="优点:"><a href="#优点:" class="headerlink" title="优点:"></a>优点:</h3><ul><li>配置规则都已经定好了,安装即可使用(如果你同意这些强制的规则的话)</li></ul><h3 id="缺点:"><a href="#缺点:" class="headerlink" title="缺点:"></a>缺点:</h3><ul><li>JSLint没有可配置文件,你无法对它的规则进行更改</li><li>配置规则的数量有限,有些规则无法禁用</li><li>不支持自定义规则</li><li>缺少文档</li><li>很难定位到哪条规则导致了错误</li></ul><h2 id="JSCSC"><a href="#JSCSC" class="headerlink" title="JSCSC"></a>JSCSC</h2><p>JSCS和以上两个都是不同的,如果不给它一个配置文件或者使用一套预设的规则,它将什么也不做不了,不过你可以从别的网站下载配置文件,所以这并不是什么大问题,并且它有很多的预设规则,比如说jQuery的代码风格的预设规则以及Google的代码风格的预设规则。</p><p>它有超过90种不同的规则,并且你可以通过插件创造自定义规则。JSCS也支持自定义输出报告,这使得其更容易与需要其以特定格式输入的工具集成。</p><p>JSCS是一个代码风格检查器,这意味着它只捕获与代码格式相关的问题,而不包含潜在的错误。因此,它比其他工具的灵活性更低,但是如果您需要强制执行特定的编码风格,那么JSCS就可以做的很好。</p><h3 id="优点:-1"><a href="#优点:-1" class="headerlink" title="优点:"></a>优点:</h3><ul><li>支持自定义输出报告,可以使其更容易和其它工具进行集成</li><li>如果您遵循现有的可用编码风格之一,预设和现成的配置文件可以轻松设置</li><li>在报告中,有一个标志包含在规则名之中,所以很容易找出是哪条规则导致了错误</li><li>可以利用自定义的插件进行拓展</li></ul><h3 id="缺点:-1"><a href="#缺点:-1" class="headerlink" title="缺点:"></a>缺点:</h3><ul><li>只检测到代码风格的违规,不检测潜在的错误,比如说未使用的变量或者变量的全局污染等</li><li>四个工具中性能最差的,但是这并不是一个典型用途的问题</li></ul><h2 id="ESLint"><a href="#ESLint" class="headerlink" title="ESLint"></a>ESLint</h2><p>ESLint是这四个工具中最新的,它被设计为易于拓展的,具有大量的自定义规则,并且很容易通过插件的形式来安装。它输出简洁的报告,但是默认包含规则的名称,因此你始终知道是那条规则导致了错误的信息。</p><p>ESLint的文档多少有些混乱,规则的列表容易查找,并且按逻辑进行分类,但配置说明在某些地方有点混乱。然而,它提供了如何对编辑器进行集成,插件和示例的链接。</p><h3 id="优点:-2"><a href="#优点:-2" class="headerlink" title="优点:"></a>优点:</h3><ul><li>灵活:任何规则都可以切换使用,并且有些规则有额外的配置可以使用</li><li>可拓展性好,并且有很多可用的插件</li><li>易于理解的输出报告</li><li>包含一些其它工具所没有的规则,使得ESLint更容易检测出代码中潜在的错误</li><li>对ES6的支持性最好,是唯一支持JSX的工具</li><li>支持自定义输出报告</li></ul><h3 id="缺点:-2"><a href="#缺点:-2" class="headerlink" title="缺点:"></a>缺点:</h3><ul><li>需要一些配置</li><li>性能差,但这并不是主要的障碍</li></ul><h2 id="推荐"><a href="#推荐" class="headerlink" title="推荐"></a>推荐</h2><p>一个好的校验工具是捕捉问题非常重要的一步,但是它只能检测出它的规则许可范围之内的错误。对于更多简单明了的bug的捕捉,我建议使用单元测试,Code reviews也是也是不错的方式。</p>]]></content>
<summary type="html">
<p><img src="http://img.mp.sohu.com/upload/20170727/7be6fe0dbc944f6c8bc36f8a3b28ba87.png" alt="image"></p>
<p>JavaScript代码校验工具能够让你在写代码时避免一些低
</summary>
<category term="前端" scheme="http://www.91h5.cc/categories/%E5%89%8D%E7%AB%AF/"/>
<category term="JavaScript" scheme="http://www.91h5.cc/tags/JavaScript/"/>
<category term="jsLint" scheme="http://www.91h5.cc/tags/jsLint/"/>
</entry>
</feed>