Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IntelliJ loves JavaScript #jbnight

IntelliJ loves JavaScript #jbnight

JetBrains東京Nightで発表した資料です。
(画像の部分は主にGifを使っていたので実際に試すことをお勧めします)

Avatar for Kazuhiro Karino

Kazuhiro Karino

November 22, 2016
Tweet

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 Kazuhiro Karino (狩野 和博) Tw: @nana4gonta • ヤフー株式会社 CTO室SWAT

    • 社内のフロントエンド開発のサポート • その他フロントエンドに関わること 1
  2. JavaScript開発のサポート • IDEが基本的な機能を持っている • シンタックスハイライト • 補完 • 静的検査 •

    最近の開発環境にも対応 • Babel、TypeScript • React、Angular • ESLint、flow • Mocha、Karma 4
  3. ES2016の有効化 • シンタックスの有効化 • Preferences > Languages & Frameworks >

    JavaScript • 機能の有効化 • Preferences > Languages & Frameworks > JavaScript > Libraries 8
  4. ES2016の有効化 • シンタックスの有効化 • ES2016の新規構⽂でエラーを出さないように • 予約語などを補完できるように • 機能の有効化 •

    PromiseやWeakMapなどPolyfillが必要な機能で警告を抑制 • 上記機能を補完できるように • ライブラリとしてimportする場合はチェックを⼊れなくて良い • ビルド時にPolyfillを読み込む場合はチェックを⼊れる 9
  5. Inspectionの設定の種類 • 設定は豊富 • Code style issues • Control flow

    issues • Probable bugs • etc... • Control flow issuesやProbable bugsは要チェック 24
  6. ESLintの設定 • 設定は以下の場所に • Preferences > Languages & Frameworks >

    JavaScript > Code Quality Tools > ESLint • Enableにチェック • ESLint package: ESLintのあるnode_modulesのパスを⼊⼒ 26
  7. ESLintとReformat Code • IntelliJにはReformat Codeという便利なものがあるが... • IntelliJ内で設定し、IntelliJ内で完結するCode Styleベース • PredefinedにGoogleとかAirBnBとかあると嬉しい…

    • スタイルフォーマットは管理しやすいESLintに寄せたい • ESLintを設定しただけでは--fixオプションが使えない • できれば保存時にコードを直してほしい 27
  8. File Watchers • ファイル形式を指定し、コマンドを実⾏するIntelliJプラグイン • gulpやeslint-watch、それらが使っているchokidar-cliもある • 快適にコードを書くためにはFile Watchersのほうが良い •

    外部ツールはエディタ画⾯への反映のタイミングが悪い • IntelliJのフォーカスを外してフォーカスし直す必要がある • File Watchersはその場で反映される 28
  9. ESLintとFile Watchers • 保存時に eslint --fix editing_file.js としてコードが修正される • ファイル形式ごとなのでJSXを扱う場合は別途作成すること

    • Immediate file synchronization • チェックしたままだとタイプするごとにeslintが⾛る • 鬱陶しくなるので外すこと 30
  10. flow • ES2016のシンタックス有効化と同じところにある • Preferences > Languages & Frameworks >

    JavaScript • flow を選択 • IntelliJのStableはESLintのようにツールチップ表⽰できない • 最近リリースされたWebStorm 2016.3では表⽰できる 31
  11. React • JSXの構⽂をエラーにしないためにシンタックスの設定 • Preferences > Languages & Frameworks >

    JavaScript • JSX または flow を選択 • WebStormにはスタータープロジェクトがある • Create React Appを利⽤したWeb⽤のもの • React Native⽤もある • IntelliJはStatic Webの⼦カテゴリにWeb⽤スターターがある 34
  12. Angular • React同様、WebStormにはスタータープロジェクトがある • Angular 1⽤とAngular 2⽤があるので注意 • Angular 2⽤はTypeScriptで作成されるので注意

    • IntelliJは先にAngularJSプラグインを⼊れる • ⼊れたあとStatic Webの⼦カテゴリにスターターが表⽰される • 開発サポート • ng2- で始まるSnippet • angular-cliを利⽤したコードジェネレート 35
  13. IntelliJのJavaScriptサポートまとめ • ES2016のサポートもOK • 補完機能もOK • 型とドキュメントを利⽤した補完強化 • 静的検査もOK •

    組み込みのInspectionでバグ発⾒の可能性アップ • ESLintの結果を表⽰と逐次修正でコードのブラッシュアップ • flowで型チェックして堅牢なコードに • フレームワークもOK • React、Angularの取っ掛かりもある 37
  14. 参考資料 40 • IntelliJ IDEA 2016.2 Help • Configuring JavaScript

    Libraries • Code Inspection • Using JavaScript Code Quality Tools Using ESLint • Using the Flow Type Checker • Using AngularJS • Using Angular CLI • New Project: React Starter Kit • Using ReactJS in JavaScript and TypeScript
  15. 参考資料 • WebStorm 2016.3 Help • Using the Flow Type

    Checker • New Project: React Starter Kit • その他 • How can I run eslint --fix on my JavaScript in Intellij-IDEA, Webstorm, other JetBrains IDEs? 41