13
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Flutterでの開発体験をよくする小技 〜シェルスクリプトを書こう〜

Posted at

Flutterでの開発体験をよくする小技を紹介します。

Flutterで開発していてターミナルで打ち込むコマンドがルーチン化してはいませんか?

今回はルーチン化しているコマンドをシェルスクリプトを使って一纏めに実行する方法について紹介します。

Mac端末での紹介となりますこと、ご了承ください。

課題##

GitHubへのコミット前に、ターミナルで複数コマンドを打ち込む場合があると思います。

CI手法で、コードのフォーマットのチェックを行なっている場合や、
プルリクエストを行う前にできるだけコードを綺麗にしたい場合です。

具体例として、自分がGitHubへのコミット前に行なっている作業を紹介します。
実行するコマンドは以下の3つです。

# importのパスを相対パス(もしくは絶対パス)に揃える、import_path_converterの導入が必要
flutter pub run import_path_converter:main

# importのソートを実行する、import_sorterの導入が必要
flutter pub run import_sorter:main

# コード全体のフォーマット
flutter format -l 80 --fix lib

これをコミット前に毎回ターミナルに打ち込んで実行していたのですが、
3回もコマンドを打つのって手間ですよね。

シェルスクリプトを使って、一括で実行できるようにしたいと思います。

解決方法##

シェルスクリプトとは、複数のコマンドをまとめて実行するためのプログラムのことです。

作成、実行の手順は以下の通りです。

以下を記載したファイルを、ファイル名.shとしてフォルダルート(コマンドをターミナルで実行するディレクトリ)に置きます。

ファイル名.sh
# !/usr/bin/zsh

#  実行したいコマンドを記載

exit 0

#!/usr/bin/zshはコメントではなくお決まりの定型文ですので、削除しないようにしてください。
上の私の例だと、以下のようになります。

commit.sh
# !/usr/bin/zsh

flutter pub run import_path_converter:main

flutter pub run import_sorter:main

flutter format -l 80 --fix lib

exit 0

あとは、zsh ファイル名.shとターミナルに打ち込んで実行するだけです。

めちゃくちゃ簡単ですよね。
これで、複数コマンドを打ち込んでいた作業が、一回で済むようになりました。

まとめ##

Flutterでの開発体験をよくする小技として、
ルーチン化しているコマンドをシェルスクリプトを使って一纏めに実行する方法について紹介しました。

自分はGit関係をSorcetreeを使っているため行いませんでしたが、
Git関連のコマンドをシェルスクリプトに組み込んで楽をするのも良いかもしれません。

自分専用にカスタマイズして実行してみてください。

本記事でFlutterの開発体験が良くなれば幸いです。

参考##

13
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?