開発サイクルにDOTNETフォーマットを組み込む
告白しなければなりません.私はコードのレビューの間、許容できるより多くの時間を費やしました.そんなばかな仕事だ.私は同僚がコードをフォーマットするのを忘れたか、誰かが異なる規則で異なるエディタを使用しているならば、見ているよりむしろ他のものに集中しなければなりません.
これはVisual StudioでCという音を書くときに、Visual StudioのコードでJSを書いていると比較すると、私が逃したことです.私がファイルを保存するとき、それがきれいな自動フォーマットであるとき、それはとても美しいです.あなたの
CLIはnew command to formatを導入している."dotnet format"は既存のDOTNETツールでした、しかし、現在、.CLIをインストールしてください.
どうやって使うの?
これは、単純なコマンドラインツールですので、あなたのCI/CDツールチェーンに統合することができます.
つの興味深い“dotnetフォーマット”オプションは、変更を
PR(プル要求)が開いているたびに、ビルド時に壊れた書式規則を確認できます.
GitHubアクションを使用したDOTNETフォーマットの生成
TeamCity、Jenkins、Azure devopsなどであるが、ここではGithubアクションを使用する.
プロセスは非常に簡単です.あなたがGitHub Actions Marketplaceに行くならば、あなたはdotnetフォーマットを走らせる若干の拡張を見つけます."xt0rted/dotnet-format"でBrian Surowiecを使います.
そこで、ワークフローへのステップを追加しました.
誰かがファイルをフォーマットするのを忘れたので、それはかなり涼しいです、しかし、私はビルド試みを防ぐのを好みます.
DOTNETフォーマットとgitフック
それで、コードをフォーマットするのを忘れるならば、どのように、私はコミットを防ぐことができますか?
その答えはGit Hooksです.
GitはいくつかのGitの手順でフックする方法を提供します.したがって、事前コミットでコードを実行できます.
あなたは多くの点でそれをすることができます(hereを見ます)、しかし、私は"pre-commit"を使いたいです.プレコミットは、あなたのプロセスを簡素化し、新しいフックを採用する簡単な方法を提供しています.見てください.それはかなりクールです!
プリコミットの設定方法
まず、事前コミットをインストールする必要があります( hereを参照).
インストール後、ルートフォルダにファイル
次のスニペットを追加します.
ラッピング
明らかに、あなたのチームメイトのいずれかが“pre - commit”をインストールすることはできません🤷. そういうわけで、前コミットとしてだけでなく、ビルドの一部としてそれをすることが重要です.一つは、ガードとして、他のフィードバックサイクルの改善として動作します.
それは非常に簡単なプロセスですので、それは価値がある.
私は、これが役に立つことを望みます!このようなヒントを得るには、私に従って、連絡を取り合いましょう!
これはVisual StudioでCという音を書くときに、Visual StudioのコードでJSを書いていると比較すると、私が逃したことです.私がファイルを保存するとき、それがきれいな自動フォーマットであるとき、それはとても美しいです.あなたの
.editorconfig
とBooomでルールを定義する!💥 インデントまたは空白の上でこれ以上の硝酸塩.あなたも、最初のディレクティブを使用してシステムを持つような他のルールを実施することができます.# .editorconfig Example
# Organize using directives
dotnet_sort_system_directives_first = true
dotnet_separate_import_directive_groups = false
そして今、我々はDotNet形式で同じ経験をもたらすことができます!CLIはnew command to formatを導入している."dotnet format"は既存のDOTNETツールでした、しかし、現在、.CLIをインストールしてください.
どうやって使うの?
これは、単純なコマンドラインツールですので、あなたのCI/CDツールチェーンに統合することができます.
つの興味深い“dotnetフォーマット”オプションは、変更を
--verify-no-changes
で実行するかどうかを確認することです.それに加えて、--include
で検証の一部のファイルだけを含めることができます.dotnet format --verify-no-changes --include src\Infrastructure\CustomerRepository.cs
したがって、これらの2つの引数はCIパイプラインに最適です.PR(プル要求)が開いているたびに、ビルド時に壊れた書式規則を確認できます.
GitHubアクションを使用したDOTNETフォーマットの生成
TeamCity、Jenkins、Azure devopsなどであるが、ここではGithubアクションを使用する.
プロセスは非常に簡単です.あなたがGitHub Actions Marketplaceに行くならば、あなたはdotnetフォーマットを走らせる若干の拡張を見つけます."xt0rted/dotnet-format"でBrian Surowiecを使います.
そこで、ワークフローへのステップを追加しました.
- name: Run dotnet format
uses: xt0rted/dotnet-format@v1
with:
only-changed-files: "true"
ワークフロー:name: .NET
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
- name: Run dotnet format
uses: xt0rted/dotnet-format@v1
with:
only-changed-files: "true"
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore
- name: Test
run: dotnet test --no-build --verbosity normal
今、PRが開いているとき、DOTNETフォーマットは変更されたファイルをチェックするために実行されます.誰かがフォーマットなしでファイルを編集するならば、構築は失敗します.誰かがファイルをフォーマットするのを忘れたので、それはかなり涼しいです、しかし、私はビルド試みを防ぐのを好みます.
DOTNETフォーマットとgitフック
それで、コードをフォーマットするのを忘れるならば、どのように、私はコミットを防ぐことができますか?
その答えはGit Hooksです.
GitはいくつかのGitの手順でフックする方法を提供します.したがって、事前コミットでコードを実行できます.
あなたは多くの点でそれをすることができます(hereを見ます)、しかし、私は"pre-commit"を使いたいです.プレコミットは、あなたのプロセスを簡素化し、新しいフックを採用する簡単な方法を提供しています.見てください.それはかなりクールです!
プリコミットの設定方法
まず、事前コミットをインストールする必要があります( hereを参照).
インストール後、ルートフォルダにファイル
".pre-commit-config.yaml"
を作成します.次のスニペットを追加します.
repos:
- repo: https://github.com/dotnet/format
rev: ""
hooks:
- id: dotnet-format
args: [--folder, --include]
さて、Gitフックスクリプトをインストールします.pre-commit install
この後、Dotnet形式242479142たびに実行されます!😍ラッピング
明らかに、あなたのチームメイトのいずれかが“pre - commit”をインストールすることはできません🤷. そういうわけで、前コミットとしてだけでなく、ビルドの一部としてそれをすることが重要です.一つは、ガードとして、他のフィードバックサイクルの改善として動作します.
それは非常に簡単なプロセスですので、それは価値がある.
私は、これが役に立つことを望みます!このようなヒントを得るには、私に従って、連絡を取り合いましょう!
Reference
この問題について(開発サイクルにDOTNETフォーマットを組み込む), 我々は、より多くの情報をここで見つけました https://dev.to/gsferreira/embedding-dotnet-format-in-your-development-cycle-8ihテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol