關(guān)于Android工程師轉(zhuǎn)成vue的三兩事兒(3)--編譯器的選擇

說起編譯工具,其實(shí)在剛開始做前端的時(shí)候圃泡,我還是稍微的對比了一下當(dāng)今主流的幾個(gè)編譯軟件的。webstorm愿险、vscode颇蜡、sublime、atom辆亏。最后我還是選擇使用了webstorm风秤,考慮到大家在剛學(xué)習(xí)前端的時(shí)候都會(huì)在編譯器上面考慮很久,就像幾個(gè)月之前的我一樣扮叨,考慮來考慮去缤弦,時(shí)間過去了,技術(shù)卻沒有提高彻磁。鑒于我有這樣的經(jīng)歷碍沐,我將從webstorm、sublime衷蜓、atom三個(gè)主流的軟件說起累提,分別介紹其安裝方法、優(yōu)劣勢磁浇、以及我在寫前端的時(shí)候一些小技巧與大家分享(其中的部分技巧是在別人的項(xiàng)目/文章中總結(jié)得來)斋陪。由于本文檔是結(jié)合項(xiàng)目做的一些總結(jié),如果存在疑慮置吓,請?jiān)诹粞詤^(qū)域留下您寶貴的意見和建議鳍贾。

一、 sublime

??首先來說一下sublime交洗,首先為什么要選擇這個(gè)東西呢骑科?是我大學(xué)室友重點(diǎn)推薦的,另外我的啟蒙書籍強(qiáng)烈的推薦构拳。外加上我自己也覺得操控這個(gè)軟件會(huì)讓人感覺自己很高端咆爽,當(dāng)然最最重要的是沒換電腦之前電腦的配置不太夠梁棠,強(qiáng)行運(yùn)行其他軟件會(huì)讓我那臺(tái)老爺機(jī)喘不過氣來??。
??不扯了斗埂,直接開始安裝吧符糊。

1.下載安裝: 點(diǎn)擊sublime官網(wǎng)
sublime官網(wǎng)

??

2. 安裝Package Control:如圖所示,點(diǎn)擊ctrl+~呛凶,然后復(fù)制下面一串代碼:
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
package control

??3. command(ctrl)+shift+p選擇 install Package Control,最后根據(jù)需要挑選自己想要的插件男娄,講道理這里的插件還是挺全的。
image.png

image.png
3. 輸入<html漾稀,就出現(xiàn)html模版了模闲。
image.png
4. 注意如果你的電腦配置比較低,我還是建議你使用這個(gè)插件或者使用vscode崭捍,這兩個(gè)對電腦的配置要求不高尸折。并且里面的插件比較豐富,基本都能滿足每一個(gè)前端開發(fā)人員的需求殷蛇。

二实夹、 atom

??關(guān)于atom呢,這個(gè)得追溯到我當(dāng)初學(xué)markdown得時(shí)候粒梦。當(dāng)初在學(xué)markdown的時(shí)候亮航,當(dāng)時(shí)的老大給我推薦的就是這款編譯器,這個(gè)編譯器在外觀匀们,包括編譯的感覺上面完全符合我這種顏值狗的首選塞赂。但是當(dāng)時(shí)只是把這個(gè)編譯器當(dāng)作一個(gè)markdown的工具而已。直到去年很多前端的語言推薦這款產(chǎn)品昼蛀,我才真正探究這款編譯器宴猾。說實(shí)話,要不是我現(xiàn)在使用webstrom習(xí)慣了叼旋,這個(gè)編譯器將會(huì)是我編譯前端的首選仇哆。

1、 安裝
image.png
2夫植、安裝插件:打開File(windows)->Settings->Install讹剔,然后在里面搜索vue,然后就會(huì)出現(xiàn)插件然后直接install就行了,另外我還自己安裝了許多樣式效果详民,能在開發(fā)之余帶來一點(diǎn)樂趣
image.png
image.png
activate-power-mode

效果
3延欠、atom這款插件。功能強(qiáng)大沈跨,樣式很好看由捎、如果我不是提前就接觸過idea類的產(chǎn)品的話。這個(gè)將會(huì)是我的首選饿凛。但是前面也說了狞玛,我現(xiàn)在正在同時(shí)開發(fā)Android和前端软驰。為了減少編譯器的耦合性,就還是選擇了webstrom心肪,但是我個(gè)人還是特別推薦這款編譯器的锭亏。畢竟是github出品的。

三硬鞍、 webstrom

??最后談一談webstrom慧瘤,為什么我要使用webstrom呢?看標(biāo)題也知道固该,我以前是做Android的锅减。而Android開發(fā)有一款工具叫Android studio。而webstrom正是和Android studio一個(gè)系列的蹬音。甚至我以前開發(fā)的一些習(xí)慣都可以直接搬到這個(gè)上面來上煤。這也是我拋棄可以裝逼的webstrom和顏值超高的atom的原因休玩。外加上我現(xiàn)在同時(shí)在開發(fā)Android著淆,前端項(xiàng)目。自己又沒有能力達(dá)到一心兩用拴疤,所以盡量減少編寫代碼的一些差異性永部,有利于自己快速的容易各個(gè)領(lǐng)域。

1呐矾、安裝 打開官網(wǎng)
image.png

然后打開文件之后按照自己的電腦配置一路next就可以安裝了苔埋。

2、注冊
在激活的時(shí)候選擇 license server蜒犯;
輸入此地址激活:http://idea.imsxm.com
3组橄、選擇es6語法:
image.png

image.png

四、 關(guān)于在開發(fā)前端的技巧

??其實(shí)編譯器只是你寫代碼的一個(gè)輔助工具罷了罚随,不必為了選擇而去選擇玉工,如果你對一個(gè)語言足夠熟悉的話,甚至用vim淘菩、nodepad++等工具都能進(jìn)行編譯的遵班。學(xué)習(xí)一門語言,基礎(chǔ)是底蘊(yùn)潮改,技巧是捷徑狭郑,今天我就從js的一些技巧講起,結(jié)合自己的所見汇在、所想翰萨,向大家總結(jié)我的一些寫作心得。

  • if ...else簡寫
    • 普通寫法

      if (window.navigator.userAgent.indexOf('AlipayDefined') >=0) {
         type = '阿里支付'
      } else {
         type = '其他支付'
      }
      
    • 簡寫:

       type = window.navigator.userAgent.indexOf('AlipayDefined') >= 0 ? "阿里支付" : "其他支付"
      
  • 條件過多:多個(gè)if...else...else if
    • 普通寫法

      if (type === 1) {
        // 阿里支付
      } else if (type === 2) {
        // 微信支付
      } else if (type === 3) {
         // 百度支付
      }else {
        //其他支付
      

      }

    • 簡寫:

      switch (type) {
        case 1:
          // 阿里支付
          break;
        case 2:
          // 微信支付
          break;
        case 3:
          // 百度支付
          break;
        default:
          // 其他支付
          break;
      }
      
  • 縮短求值簡寫: 有時(shí)候在使用某些變量的時(shí)候糕殉,總是要考慮到該變量是否是空缨历,是否未定義等等:
    • 普通寫法

         let data = this.tabledata
         if (data !== null && data !== undefined && data !== "") {
           // dosomething
         }
      
    • 簡寫:

      const data = this.tabledata  || 'new';
      
  • 判斷if里面為真:但是這里會(huì)有點(diǎn)坑
    • 普通寫法

      if (data !== true) {
         // dosomething
      }
      
    • 簡寫:

      // 但是如果data的值是1的時(shí)候依然會(huì)運(yùn)行里面的以蕴,這是我在開發(fā)的時(shí)候遇到的bug
      if (data) {
        // dosomething
      }
      if (!data) {
        // dosomething
      }
      
  • 變量的賦值:
    • 普通寫法

      var x =0;
      var y=1;
      
    • 簡寫:

      var x=0,y=1;
      
  • 循環(huán):
    • 普通寫法

      for (var i = 0; i < datas.length; i++)
      
    • 簡寫:

      for (var index of datas)
      
  • 縮短求值
    • 普通寫法

      let host;
      if (process.env.DB_HOST) {
        host = process.env.DB_HOST;
      } else {
        host = '0.0.0.0';
      }
      
    • 簡寫

      const dbHost = process.env.DB_HOST || '0.0.0.0';
      
  • 方法改成箭頭函數(shù)
    • 普通寫法

      setTimeout(function () {
        console.log("timeout===>>>")
      },1000)
      list.forEach(function (item) {
        console.log(item);
      })
      // vue
      test: function () {
      }
      function calcCircumference(diameter) {
        return Math.PI * diameter
      }
      
    • 簡寫

      setTimeout(() => {
        console.log("time out=>>")
      }, 1000)
      list.forEach( item => {
        console.log(item)
      })
      // vue
      test () {
      }
      calcCircumference = diameter => (
          Math.PI * diameter;
      }
      
  • find方法
    • 普通寫法

      const peoples = [
        { type:"student", name: "xiaohong"},
        { type:"teacher", name: "laojiang"},
        { type: "assitant", name: "xiaozhang"}
      ]
      function findStu(name) {
        for(let i=0;i<peoples.length;i++) {
          if (peoples[i].type === "student" && peoples[i].name === name) {
            return peoples[i];
          }
        }
      }
      
    • 簡寫

      let people = peoples.find(people=>people.type === "student" && people.name === name)
      
  • 清空數(shù)組
    • 普通寫法:使用此種做法,只是將一個(gè)變量引用到另外一個(gè)數(shù)組辛孵,其他引用不受影響丛肮。先前的數(shù)據(jù)引用依舊在內(nèi)存中,可能會(huì)造成內(nèi)存泄漏

      var list = [1, 2, 3, 4];
      function clear() {
       list = [];
      }
      
    • 技巧:刪除數(shù)組內(nèi)的所有所有東西

      var list = [1, 2, 3, 4];
      function clear() {
       list.length = 0;
      }
      
  • 使用更簡單的類似indexOf的包含判斷方式
    • 通用做法

      var someText = 'JavaScript rules';
      if (someText.indexOf('JavaScript') !== -1) {
      }
      // 或者
      if (someText.indexOf('JavaScript') >= 0) {
      }
      
    • 技巧

       // es6
      'something'.includes('thing'); // true 
      // 或與操作魄缚,在網(wǎng)上看到的宝与,但是暫時(shí)用的是es6 主要用上面兩種
      var someText = 'text';
      !!~someText.indexOf('tex'); // someText 包含 "tex" - true
      !~someText.indexOf('tex'); // someText 不包含 "tex" - false
      ~someText.indexOf('asd'); // someText 不包含 "asd" - false
      ~someText.indexOf('ext'); // someText 包含 "ext" - true
      String.prototype.includes()
      

五、webstrom快捷鍵

??談到快捷鍵冶匹,這真是一個(gè)好東西习劫,因?yàn)檫@個(gè)東西要是用的好能讓你的開發(fā)事半功倍,由于我自己又一些Android studio開發(fā)的經(jīng)驗(yàn)嚼隘,外加上前面的很多語法技巧在webstrom里面都會(huì)有提示(這也是我選擇這個(gè)編譯器的一個(gè)初衷)诽里,然后我就在最后簡單的介紹我常用到的一些快捷鍵:
?——Command ? ——Control ?——alt ?——Shift ?——Caps Lock fn——功能鍵就是fn
Command+alt+T 用 (if..else, try..catch, for, etc.)包住
Command+/ 注釋/取消注釋的行注釋
Command+alt+/ 注釋/取消注釋與塊注釋
alt+↑ 向上選取代碼塊
alt+↓ 向下選取代碼塊
Command+alt+L 格式化代碼
tab,shift+tab 調(diào)整縮進(jìn)
Control+alt+I 快速調(diào)整縮進(jìn)
Command+C 復(fù)制
Command+X 剪切
Command+V 粘貼
Command+shift+V 從剪貼板里選擇粘貼
Command+D 復(fù)制代碼副本
Command+delete 刪除當(dāng)前行
Control+Shift+J 清除縮進(jìn)變成單行
shift+回車 快速換行
Command+回車 換行光標(biāo)還在原先位置
Command+shift+U 大小寫轉(zhuǎn)換
Command+shift+[,Command+shift+] 文件選項(xiàng)卡快速切換
Command+加號(hào),Command+減號(hào) 收縮代碼塊
Command+shift+加號(hào),Command+shift+減號(hào) 收縮整個(gè)文檔的代碼塊
Command+W 關(guān)閉當(dāng)前文件選項(xiàng)卡
alt+單擊 光標(biāo)在多處定位
Control+shift+J 把下面行的縮進(jìn)收上來
shift + F6 高級修改飞蛹,可快速修改光標(biāo)所在的標(biāo)簽谤狡、變量、函數(shù)等
alt+/ 代碼補(bǔ)全
Command+O 跳轉(zhuǎn)到某個(gè)類
Command+shift+O 跳轉(zhuǎn)到某個(gè)文件
Control+←,Control+→ 轉(zhuǎn)到上/下一個(gè)編輯器選項(xiàng)卡
F12 打開之前打開的工具窗口(TODO卧檐、終端等)
Command+L 跳轉(zhuǎn)行
Command+alt+←,Command+alt+→ 向前向后導(dǎo)航到代碼塊交接處(一般是空行處)
Command+shift+delete 導(dǎo)航到上一個(gè)編輯位置的位置
Command+B 跳轉(zhuǎn)到變量聲明處
Control+J 獲取變量相關(guān)信息(類型墓懂、注釋等,注釋是拿上一行的注釋)
Command+Y 小浮窗顯示變量聲明時(shí)的行
Command+[,Command+] 光標(biāo)現(xiàn)在的位置和之前的位置切換
Command+F12 文件結(jié)構(gòu)彈出式菜單
alt+H 類的層次結(jié)構(gòu)
F2,shift+F2 切換到上\下一個(gè)突出錯(cuò)誤的位置
Command+↑ 跳轉(zhuǎn)到導(dǎo)航欄
alt+shift+C 打開最近修改列表
Command+F 搜索
Command+R 替換
Command+G 查找下一個(gè)
Command+shift+G 查找下一個(gè)
Command+shift+F 按路徑搜索
Command+shift+R 按路徑替換
Command+F7 向聲明的地方搜索并選中
Command+shift+F7 打開搜索框進(jìn)行搜索
Command+alt+F7 打開小浮窗顯示搜索列表
F5 復(fù)制文件到某個(gè)目錄
F6 移動(dòng)文件到某個(gè)目錄
Command+delete 安全刪除
shift+F6 重命名
Command+切換項(xiàng)目 Command+shift+ 反向切換項(xiàng)目
Command+shift+A 整個(gè)工程的查找操作

最后我再來啰嗦一句霉囚,快捷鍵并不能提高你的編程技能捕仔,只能提升你的編程速度。最終公司考量你的是對基礎(chǔ)知識(shí)的領(lǐng)會(huì)程度和對只是的運(yùn)用自如的能力盈罐。如果你在這一方面下大文章的話榜跌,無疑是舍本逐末罷了。就像以前我們開發(fā)Android一樣盅粪,以前對eclipse的快捷鍵記的很熟練钓葫,然而現(xiàn)在Android用eclipse的已經(jīng)是寥寥無幾了。所以編譯器是會(huì)過期的湾揽,但是知識(shí)是不會(huì)的瓤逼,領(lǐng)會(huì)了知識(shí),快捷鍵運(yùn)用只是景上添花罷了库物。 哇霸旗,低頭看了一下表,現(xiàn)在又凌晨了 不寫了 不寫了 老規(guī)矩戚揭,去洗澡了??
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诱告,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子民晒,更是在濱河造成了極大的恐慌精居,老刑警劉巖锄禽,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異靴姿,居然都是意外死亡沃但,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進(jìn)店門佛吓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宵晚,“玉大人,你說我怎么就攤上這事维雇∮偃校” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵吱型,是天一觀的道長逸贾。 經(jīng)常有香客問我,道長津滞,這世上最難降的妖魔是什么铝侵? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮据沈,結(jié)果婚禮上哟沫,老公的妹妹穿的比我還像新娘饺蔑。我一直安慰自己锌介,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布猾警。 她就那樣靜靜地躺著孔祸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪发皿。 梳的紋絲不亂的頭發(fā)上崔慧,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機(jī)與錄音穴墅,去河邊找鬼惶室。 笑死,一個(gè)胖子當(dāng)著我的面吹牛玄货,可吹牛的內(nèi)容都是我干的皇钞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼松捉,長吁一口氣:“原來是場噩夢啊……” “哼夹界!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起隘世,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤可柿,失蹤者是張志新(化名)和其女友劉穎鸠踪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體复斥,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡营密,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了目锭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卵贱。...
    茶點(diǎn)故事閱讀 39,773評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖侣集,靈堂內(nèi)的尸體忽然破棺而出键俱,到底是詐尸還是另有隱情,我是刑警寧澤世分,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布编振,位于F島的核電站,受9級特大地震影響臭埋,放射性物質(zhì)發(fā)生泄漏踪央。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一瓢阴、第九天 我趴在偏房一處隱蔽的房頂上張望畅蹂。 院中可真熱鬧,春花似錦荣恐、人聲如沸液斜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽少漆。三九已至,卻和暖如春硼被,著一層夾襖步出監(jiān)牢的瞬間示损,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工嚷硫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留检访,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓仔掸,卻偏偏與公主長得像脆贵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子嘉汰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容

  • .bat腳本基本命令語法 目錄 批處理的常見命令(未列舉的命令還比較多丹禀,請查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,094評論 1 19
  • Analyze RunInspection command shift alt I Analyze->Run ...
    IT追夢人閱讀 6,086評論 0 1
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,148評論 0 13
  • 返回上次光標(biāo)的位置Ctrl+Alt+ left/right 返回至上次瀏覽的位置 Alt+回車 導(dǎo)入包,自動(dòng)修正C...
    請叫我四爺閱讀 1,923評論 1 2
  • 沒錢強(qiáng)出頭双泪,狂風(fēng)弄絮柳持搜。 審時(shí)挽度勢,常學(xué)小泥鰍焙矛。
    鴻怡軒閱讀 285評論 0 0