Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 4.72 KB

index.md

File metadata and controls

66 lines (47 loc) · 4.72 KB

集まれる時に集まってもくもくとKotlinのコントリビュートを行う会です。

Slack

トラブルシューティング

ビルド時のトラブル

開発時のトラブル

  • Kotlinのプロジェクトが読み込めない時はAndroid Supportプラグインを無効にするとなぜか読み込める
    • エラー内容:Cannot Load Project:com.intellij.ide.plugins.PluginManager$StartupAbortedException:Fatal error initializing plugin org.jetbrains.kotlin

テスト時のトラブル

  • Generate Testがうまく動かないときはJDKのearly access版かpatched jdkを使う
    • File > Project Structure > SDKsに追加したJDKを追加して、Edit Configurationsを開き、JREを先ほどのJDKにしてビルドすればエラーでなくなる。
  • テストを選択して動かしてTest file Not Foundと言われる時はEdit Configurations...よりWorking Directoryを$MODULE_DIR$ではなく、$PROJECT_DIR$にすると解決する

便利なリンク集

新機能追加

Kotlinで頻出の新機能作成はIntention/Inspection/Quickfixに関するものです。Intention/Inspection/Quickfixの違いは実装前に確認しておくと良いです。どれを実装すれば良いのかわからない場合、SlackやそのIssueで聞いてしまうのも手です。

それぞれの機能追加の場合、以下のファイルの追加・変更が必要になります。(Xxxはそれぞれの機能の名前です。xxxはlowerCamelCaseということです。)

Intention

  • idea/src/org/jetbrains/kotlin/idea/intentions/XxxIntention.ktを追加
  • idea/src/META-INF/plugin.xmlにintentionActionタグを追加
  • idea/resources/intentionDescriptions/XxxIntention/description.htmlにIntentionの説明を追加
  • idea/resources/intentionDescriptions/XxxIntention/before.kt.templateとidea/resources/intentionDescriptions/XxxIntention/after.kt.templateを追加
  • idea/testData/intentions/xxxにテストデータを作成

Inspection

  • idea/src/org/jetbrains/kotlin/idea/inspections/にXxxInspection.ktを追加
  • idea/src/META-INF/plugin.xmlにlocalInspectionのタグを追加
  • idea/resources/inspectionDescriptions/Xxx.htmlのInspectionの説明を追加
  • idea/testData/inspectionsLocal/xxxにテストデータを作成(inspectionsLocalが2017年8月現在最新のテスト方法です。)

Quickfix

  • idea/src/org/jetbrains/kotlin/idea/quickfix/XxxFix.ktを作成する
  • idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.ktの対象のエラーにregisterする
  • idea/testData/quickfix/xxxにテストデータを作成

Ant -> Gradleへの変更点

2017/09/20あたりからビルドツールとしてAntからGradleを使うようになりました。以下が主な変更点です。

  • Intellij IDEA 2017.3以上を使う。2017.1でも動くとのこと
  • Kotlin plugin 1.1.50以上のStableを使う。過去のdev周りの設定を外した方が良いかも?
  • IDEAをRunするタイミングで旧ant distが実施されるようになった
  • テスト実行時のWorking directoryの設定が必要なくなった。GradleのDelegate IDE build/run actions to Gradleをチェックする必要があり
  • テスト実行はクラスやメソッドの左横にある緑の>をクリック
  • IDEAの起動(IDEA), テストケース生成(Generate Tests)はRun Configurationに存在