IDEA Intellij でファイル単体スクリプトを編集する方法

ツールなどちょっとしたスクリプトをIDEAの持つ機能を利用しながら書きたいときありません?

プロジェクト化して Git に登録とかせずに、ササッと書いて、実行するだけの場合の話。

ファイル指定でコマンドラインから起動すれば良い!!

👉 Opening Files from Command Line - Help | IntelliJ IDEA 

ここに書いてある

Tools | Create Command-line Launcher

からは今は作成できない。

👉 Toolbox App 1.11: What’s New. | JetBrains Blog 

Toolbox 設定で [Generate Shell script] で指定した場所に起動シェルスクリプトが書き出される。

Android Studio で、プロジェクトディレクトリの指定でも開ける。

ただのランチャーとしてもどうぞ。

言語の設定 (Python)

編集したいスクリプトのファイル名を rename_gopro.py とします。

1. idea bin/rename_gopro.py で IDEA を起動する。

2. [File]-[Project Structure] から Project Structure 画面を開く。

3. Platform Settings の [SDKs]-[Python 3.7] を選択する。

4. Project Settings の [Project]-[Project SDk]-[Python 3.7] を選択する。

5. 上部ツールバー内 [Add Configuration...] から Run/Debug Configuration 画面を開く。

6. [+]-[Python] で開いた画面で Script path を入力する。

7. 上部ツールバーから [Run/Debug] する。

ちなみに今回書き出された起動スクリプトは以下。

~/bin/idea


#!/bin/sh
# Generated by JetBrains Toolbox 1.16.1212 at Fri Jan 24 07:08:01 2020

open -a "/Users/maochanz/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/193.1212.39/IntelliJ IDEA.app/Contents/MacOS/idea" "$@"

~/bin/studio


#!/bin/sh
# Generated by JetBrains Toolbox 1.16.1212 at Fri Jan 24 07:08:01 2020

open -a "/Users/maochanz/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/191.1212548/Android Studio.app/Contents/MacOS/studio" "$@"

👉 JetBrains Toolbox で Android Studio の Stable/Beta/Canary が同時に管理できる? 
👉 GoPro 分割された動画ファイルの命名規則 


【Android10】隠し機能の「画面録画機能(screenrecord)」を使うべし

 
「電源ボタン」の長押し

    ↓

「画面の保存」の長押し

で「画面の録画」ができるようになっております。

まだ、隠している機能のようで、

adb 経由で設定を有効化する必要があります。

 
adb shell settings put global settings_screenrecord_long_press true

あとは表示されるダイアログに従っていくだけでアプリなしで画面を動画で録画できるようになります。



録画された動画は、「動画」(Movies) 以下に保存されています。

以下も参考にどうぞ。

👉 【Android Q】 端末画面動画 (screenrecord) が簡単に録画録音できるのよ、アプリ不要! 

👉 🆕 【Android11】クイックタイルから「画面録画(スクリーンレコード)」が可能に 


Retorofit + JSON には「Kotlin Serialization Converter」がよい。

Retrofit は非常に有名なSquare製のJavaで書かれたAndroid 向け HTTP クライアントです。

👉 square/retrofit: Type-safe HTTP client for Android and Java by Square, Inc. 

その内部には Kotlin Serialization はサポートされていませんが、オブジェクトのシリアル化のためのコンバータファクトリを追加することができます。独自のコンバータファクトリを作成することもできますし、Jake Wharton が書いたものを使うこともできます。

👉 JakeWharton/retrofit2-kotlinx-serialization-converter: A Retrofit 2 Converter.Factory for Kotlin serialization. 

Retrofit2 Converter.Factory を利用するには、ライブラリ dependencies に追加したあと、Retorofit インスタンス生成時に、Extension Function である asConvertFactory を使ってそれを追加します。


val contentType = "application/json".toMediaType()

val retrofit = Retrofit.Builder()
 .baseUrl("https://www.example.com")
 .addConverterFactory(Json.asConverterFactory(contentType))
 .build()

簡単ですね!

ちなみに、.toMediaType() とは、


okhttp3.MediaType.Companion.toMediaType

です。

👉 「Kotlinx Json」の登場でサードパーティJSONライブラリは不要となる。