WebStorm初探-含Angular2Demo

出身

WebStorm(后面简称WS)出身于大名鼎鼎的JetBrains公司,如果有同学用Java或者Python进行过开发,相信对其公司出品的Intellij IDEA 和 PyCharm一定赞不绝口。最最厉害的是,jetbrains旗下众多IDE,均是用Java编译的!!!

WS:我们的口号是什么?

The smartest JavaScript IDE!

特征

  • 支持全面

    就如同口号中宣传的,WS几乎支持所有流行的前端框架与技术(Angular系列,RN,PhoneGap...),2017.1版已经支持Vue!由于WS是一款商业软件,所以它内置了许多插件,当然,它也支持用户自行安装插件。

  • 智能编码协助

    WebStorm为您提供JavaScript和编译到JavaScript语言,Node.js,HTML和CSS的智能编码协助。 享受代码完成,强大的导航功能,即时错误检测和所有这些语言的重构。

  • 调试,跟踪和测试

    WebStorm提供强大的内置工具,用于调试,测试和跟踪客户端和Node.js应用程序。 通过最低配置需求和周到的集成到IDE中,这些任务通过WebStorm更容易。

  • 无缝工具集成

    WebStorm与流行的用于Web开发的命令行工具集成,为您提供高效,简化的开发体验,而无需使用命令行。

  • IDE功能

    WebStorm建立在开源IntelliJ平台之上,JetBrains已经开发和完善了15多年。 享受适合您的开发工作流程的微调高度可定制的体验。

常用设置

贴心提示:是Mac版的WebStorm哟~

代码编辑

  • 代码跳转: Command + 左键 或者 Command + B,可以跳转到函数或者变量的声明位置
  • 调用位置: Command + 7,查找调用者
  • 自动补全: 最好是修改一下响应时间,Preferences->Editors->General->Code Completing: Autopopup in 0.
  • 打开文件: Command +Shift+ O
  • 打开类: Command+O
  • 显示函数声明:Command+Y
  • “超级”打开: 双击 shift,可以 search anywhere.
  • 复制整行: Command + D
  • 删除整行: Command + Delete
  • 折叠当前块: Command + “-”,折叠当前块以及子块: Command + Alt + “-”,折叠全部块: Command + Shift + “-”
  • 展开, 把折叠的快捷键换成”+”

重构

  • 改名: Shift + F6,修改函数名,变量名,文件名,同时修改所有引用的位置.
  • 移动文件: F6, 并修改文件的引用位置, 包括 html 和 js文件
  • 抽取函数: Command + Alt + M,整块代码抽取成函数
  • 抽取变量: Command + Alt + V,当前选中抽取为变量
  • 移动整块代码: Command + Shift + ↑↓
  • 包裹: Command + Alt + T,外层包裹,比如 if、try catch等

Run & Debug

  • 可以直接 Run & Debug NodeJS 脚本,也可以执行服务端脚本,如下图所示:
Run & Debug.png

NPM

  • View -> Tool Windows -> npm,可以打开 npm 快捷窗口
    当然,你这个应用是要用npm install过的哟,然后双击start就行啦!
npm_start.png

版本控制

  • 本地代码控制
    VCS -> Local history 可以列出本次 WebStorm 启动以后,所有的代码修改。
    可以集成主流的版本控制工具, 如 git、mercurial、subversio 等
    通过两个按钮, 即可完成 pull、update、merge、commit、push 的完整流程, 非常方便,如下图所示:
VCS.png

通过 branch 管理工具,可以方便的切换 branch 工作,同时可以 create、close、merge 操作,如下图所示:

branch.png

格式化代码

快捷键: Alt/Option+Command+L

Format Code.png

补充说明

  • npm

npm是随同Node.js一起安装的包管理工具,能解决Node.js代码部署上的很多问题,常见的使用场景有以下几种:

1.允许用户从npm服务器下载别人编写的第三方包到本地使用。
2.允许用户从npm服务器下载并安装别人编写的命令行程序到本地使用。
3.允许用户将自己编写的包或命令行程序上传到npm服务器供别人使用。

国内的话,还是换淘宝镜像源吧!npm.taobao.org/
WS内嵌npm操作界面,View->Tool Windows->npm,打开npm界面,从而省去再打开一个终端了。

常用的npm指令通常为:

  • npm install xxx 安装
  • npm uninstall xxx 卸载
  • npm update -g 全局更新
  • npm search xxx 搜索
  • npm install npm@latest -g安装最新npm
  • Node.js

简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
菜鸟课程点这里

新版本Node.js安装后,默认安装npm。
举个栗子:
vim helloworld.js
console.log('Hello World!');
node helloworld.js

node helloworld.js .png

这里着重补充一点,由于Node.js和npm发展很快,所以经常会有新版本更新,那么我们可以用nvm来管理Node.js;

  • 通过nvm install node来安装Node.js;
  • 通过nvm ls来查看个版本的Node.js;
  • 如果安装了多个Node.js,并且想指定使用某个版本的Node.js,
    则使用nvm use xxx这里的xxx则是某个版本Node.js;
    如果想更新npm,则执行[sudo] npm update -g,或者 [sudo] npm install npm@latest -g即可。
  • Webpack

Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。
教程看这里
通过npm install -g webpack安装

  • gulp.js

Gulp.js 是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务。Gulp.js 是基于 Node.js 构建的,利用 Node.js 流的威力,你可以快速构建项目...
教程看这里
通过npm install -g gulp来安装
这里要记录一点 全局安装过gulp后,在运行gulp的时候,还是会有提示让你再安装一遍gulp,这是gulp故意设计的,原因是为了版本和依赖的控制。意思就是当别人Fork你代码,或者你过段时间拷贝到别的电脑上再gulp的时候,能控制gulp的版本和其他插件的版本。
参考讨论

  • 两者区别

    gulp 和 webpack 不是一回事

    • Gulp 是一种工具,能够优化前端工作流程。比如自动刷新页面、combo、压缩css、js、编译less等等。简单来说,就是使用Gulp,然后配置你需要的插件,就可以把以前需要手工做的事情让它帮你做了。
    • webpack : 是一个预编译模块的方案,相比于上面 ,这个方案更加智能。没用过browserify,这里以webpack为例。首先,它是预编译的,不需要在浏览器中加载解释器。另外,你在本地直接写JS,不管是 AMD / CMD / ES6 风格的模块化,它都能认识,并且编译成浏览器认识的JS。这样就知道,Gulp是一个工具,而webpack等等是模块化方案。Gulp也可以配置seajs、requirejs甚至webpack的插件。
  • http-server

用于webstorm等重量级IDE功能实在太完善,我们在某些情况下可以抛弃webstorm,来快速启动我们的项目,那么就要用到http-server了。

  • 通过npm install -g http-server来安装
  • cd到你的项目目录,运行 http-server即可。

常用的npm包

通常我们安装完npm后,需要安装一些常用的包来方便我们开发,例如以下一些就是:


npm常用包.png

举个栗子

下面,我们来举个栗子,如何用WS开发Angualr项目。
搭建环境(同样是Mac环境下):

  • node.js官网下载安装最新版node.js。最新版node.js安装后,默认安装npm。

  • 安装完node.js后 执行node -v / npm -v 查看版本。

  • 先升级 npm
    npm update / npm upgrade

  • 安装必须库
    npm install -g typescript Angular2项目主要由TypeScript语言编写
    npm install -g @angular/cli WebStorm新建Angular2项目依赖
    那么cli是个啥?
    请点击这里,简单来讲,就是Angular开发团队解决开发人员在使用ng2开发的时候环境搭配的麻烦,而推出的一个tool。

  • 打开WS,新建AngularCLI项目,输入项目名称,WS会自动选择Node和AngularCLI,点击Create,

new project.png

视网络环境,WS开始初始化开发环境,安装依赖包。


Installing packages.png

安装完毕后,打开npm界面,双击执行 start ,可以看到运行状态:

running.png

打开浏览器,输入localhost:4200,运行成功~

运行成功.png

下篇介绍AngularCLI

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 前言 众所周知目前比较火的工具就是gulp和webpack,但webpack和gulp却有所不同,本人两者的底层研...
    cduyzh阅读 1,350评论 0 13
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 5,419评论 1 32
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,125评论 7 35
  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 5,266评论 4 31
  • coco老师,你好! 我有两个男孩,大的10周岁,小的3周岁。因为两个孩子未在一起成长,哥哥不懂让弟弟,弟弟不知道...
    自由和人生阅读 273评论 2 0