IntelliJ IDEA 2025.3 ヘルプ

コピーライト

プロジェクトには、コピーライトで保護したいファイルが含まれている場合があります。各ファイルに個別にコピーライト表示を追加する代わりに、著作権プロファイルを使用できます。

プロファイルは、コピーライト表示テキストと、このテキストが組み込まれる一連のファイル(スコープ)を定義します。

同じプロジェクト内のファイルには、いくつかの異なるコピーライト表示が必要な場合があります。この場合、複数のプロファイルを設定し、異なるスコープに関連付けることができます。

IntelliJ IDEA では、コピーライトプロファイルをローカルに保存したり共有したりできます。

共有プロファイルは .xml ファイル内の .idea/copyright に保存され、VCS を通じてチームの他のメンバーが利用できるようになります。

ローカルコピーライトプロファイルは IDE レベルで保存され、現在の IDE インスタンスで開いたすべてのプロジェクトで使用できます。

プロファイルを使用すると、後でプロジェクト全体に挿入したり、特定のファイルにのみ追加したりできるコピーライトテキストを定義できます。

  1. Ctrl+Alt+S を押して設定を開き、エディター | コピーライト | コピーライトプロファイルを選択します。

    新しく作成されたすべてのプロジェクトのデフォルトプロファイルを構成するには、ファイル | 新規プロジェクトのセットアップ | 新規プロジェクトの設定を選択し、エディター | コピーライト | コピーライトプロファイルに移動します。

  2. Add をクリックし、新しいプロファイルに名前を付けます。

  3. VCS で共有するを選択してこのプロファイルを .idea フォルダーに配置し、チームと共有するか、チェックボックスをオフにしてこのプロファイルをローカルに保持し、すべてのプロジェクトで使用できるようにします。

  4. コピーライト表示のテキストを入力します。

    プレーンテキストを入力するか、Velocity テンプレートを構成することができます。テンプレートの場合は、変数を使用し、検証をクリックして、正しく構成されていることを確認します。

    Configuring a copyright profile

プロファイルが設定されると、テキストを追加するファイルの範囲を選択したり、どの範囲にも含まれていないプロジェクト内のすべてのファイルのデフォルトプロファイルとしてこのプロファイルを設定したりできます。

コピーライト変数

現在、Velocity コンテキストでは次の変数が使用できます。

名前

タイプ

コメント

$today

DateInfo

現在の日付と時刻。

$file.fileName

String

生成される現在開いているファイルの名前。

$file.pathName

String

生成される現在開いているファイルの完全なパスと名前。

$file.className

String

生成される現在開いている Java ファイルの名前。

$file.qualifiedClassName

String

生成される現在開いているファイルの完全修飾名。

$file.lastModified

DateInfo

現在のファイルが最後に変更された日時。

$project.name

String

現在のプロジェクトの名前。

$module.name

String

現在のモジュールの名前。

$username

String

現在のユーザーの名前。

DateInfo には、次のプロパティがあります。

year

int

今年。

month

int

今月(1-12)。

day

int

現在の月の日付(1-31)。

hour

int

現在の時間(0-11)。

hour24

int

現在の時間(0-23)。

minute

int

時間の現在の分(0-59)。

second

int

分の現在の秒(0-59)。

DateInfo には次の方法があります。

format(String format)

String

日付と時刻のパターン文字列で指定された日付と時刻の形式。java.text.SimpleDateFormat 形式オプションを参照してください。

例 1:

Copyright (c) $today.year $username File: $file.fileName Project: $project.name Created on: $today.format("yyyy-MM-dd HH:mm") Last modified: $file.lastModified.format("yyyy-MM-dd HH:mm")
/* * Copyright (c) 2025 jetbrains * File: Alphabet.java * Project: Samples * Created on: 2025-05-26 15:18 * Last modified: 2025-01-27 13:14 */

例 2:

Copyright © $today.year JetBrains. All rights reserved. Project: $project.name Module: $module.name Author: $username Created on: $today.format("yyyy-MM-dd HH:mm:ss") File path: $file.pathName Last Edit: $file.lastModified.format("yyyy-MM-dd HH:mm:ss")
/* * Copyright © 2025 JetBrains. All rights reserved. * * Project: Samples * Module: Samples * Author: jetbrains * Created on: 2025-05-26 15:23:13 * File path: /Users/jetbrains/Projects/Samples/src/Alphabet.java * Last Edit: 2025-05-26 15:22:44 */

例 3:

Copyright © $today.year $username <$username@jetbrains.com> This file is part of the $project.name project. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 File: $file.qualifiedClassName Last Updated: $file.lastModified.format("yyyy-MM-dd HH:mm:ss")
/* * Copyright © 2025 jetbrains <jetbrains@jetbrains.com> * * This file is part of the Samples project. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * File: Alphabet * Last Updated: 2025-05-26 15:25:49 */

デフォルトでは、コピーライトテンプレートには 2 つの年が含まれています。元の年と現在の年です。

新しいコピーライト表示を挿入すると、元の年は現在の年と一致するため、1 年だけが追加されます (たとえば、2021)。翌年、コピーライトを更新するときに通知を再生成できるようになり、元の年が現在の年 (2021 – 2022) と並んで表示されます。こうすることで、コピーライトを更新するたびに年を手動で追加する必要がなくなります。

テンプレートでは、元の年は $originalComment.match("Copyright \(c\) (\d+)", 1, "-") コードで取得され、現在の年は $today.year コードで挿入されます。詳しくは GitHub のソースコード(英語)を参照してください。

Copyright template in settings

新しいコピーライトの形式がテンプレート内の以前のコピーライトの形式と一致する場合、年は正しく更新されることに注意してください。ファイルから年を取得するテンプレートの部分を、元のコピーライトの形式と一致するように編集してください。

例: 元の通知が Copyright 2019-2021 MongoDB, Inc. であった場合は、テンプレートからコピーライト記号 (c) を削除します: $originalComment.match("Copyright (\d+)", 1, "-")

ファイルのスコープにプロファイルを割り当てる

構成されたコピーライトテキストを追加するファイルのスコープを選択します。

  1. Ctrl+Alt+S を押して設定を開き、エディター | コピーライトを選択します。

  2. Add をクリックして(または Alt+Insert を押して)、リストから既存の共有スコープを選択します。

    必要に応じて新しいスコープを定義することができます。ページの下部にあるスコープを追加または既存のスコープを変更するには、スコープを選択するリンクをクリックします。

  3. コピーライトリストから、スコープにリンクするプロファイルを選択します。

  4. 変更を適用し、ダイアログを閉じます。

    Associating a profile with a scope

その後、必要なファイルにコピーライトを追加できます。

デフォルトのコピーライトプロファイルを設定する

既定のプロファイルの設定は、プロファイルでカバーされているすべてのスコープに明示的に含まれていないファイルに適用されます。

  1. Ctrl+Alt+S を押して設定を開き、エディター | コピーライトを選択します。

  2. デフォルトのプロジェクトコピーライトリストから、デフォルトプロファイルとして使用するプロファイルを選択します。

  3. 変更を適用し、ダイアログを閉じます。

    その後、必要なファイルにコピーライトを追加できます。

デフォルトでは、IDE は各行に接頭辞を付けて他のコメントの前にブロックコメントを貼り付け、ブロックの後に空白行を追加します。

copyright notice in the default format

すべてのファイルまたはファイルタイプごとに個別にデフォルトの形式を変更できます。

  1. Ctrl+Alt+S を押して設定を開き、エディター | コピーライト | フォーマットを選択します。

  2. このページでは、すべてのタイプのファイルのフォーマットを構成できます。

    特定のファイルタイプのフォーマットを変更するには、フォーマットノードでそのフォーマットを選択します。

  3. フォーマットオプションを設定します。プレビューセクションを使用して、新しいフォーマットが意図したとおりに表示されていることを確認します。

    Changing the formatting for copyright notice

別のプロジェクトでプロファイルを使用する場合は、プロファイル設定を含む .xml ファイルを別の場所にコピーしてインポートします。

  1. Ctrl+Alt+S を押して設定を開き、エディター | コピーライト | コピーライトプロファイルを選択します。

  2. Import Profile をクリックし、開いたダイアログで、使用するプロファイルを含む .xml ファイルを選択します。

  3. 必要に応じてプロファイルの名前を変更し、OK をクリックします。

    設定が正常にインポートされると、確認のポップアップが表示されます。

    Popup confirming that copyright profile is imported
  • 単一のファイルにテキストを挿入するには、エディターでファイルを開き、Alt+Insert を押して、ポップアップからコピーライトを選択します。

  • ファイルのグループにテキストを挿入するには、プロジェクトツールウィンドウでノードを右クリックし、コピーライトの更新を選択します。通知を更新するスコープを選択するように求められます。

    ノードには、異なるスコープに属するファイルが含まれている場合があります。この場合、割り当てられたプロファイルに従ってコピーライト表示が生成されます。

    どのスコープにも属していないファイルがノードに含まれている場合、IDE はそのノードにデフォルトプロファイルを割り当てます。

  1. Ctrl+Alt+S を押して設定を開き、エディター | コピーライト | コピーライトプロファイルを選択します。

  2. 必要なプロファイルを選択し、コピーライトテキストを編集します。

  3. コメントのコピーライトを検出する正規表現フィールドに、ファイル内の既存のコピーライト情報を検索するために使用される正規表現を指定します。

    IDE はこの表現を使用して、他のコメントの中からコピーライトに関するコメントを識別します。例: そのようなコメントは通常 Copyright という単語を含みます。

  4. 古いコピーライトと一致する場合はコピーライトの置き換えを許可するフィールドに、IDE がコピーライトテキストを更新するファイルを検索するために使用する正規表現を指定します。

    例: コピーライトに 2000-2006 および 2010-2016 年を含むすべてのファイルのコピーライトテキストを更新する場合は、20[0-1][0-6] を指定します。

  5. 変更を適用し、ダイアログを閉じます。

  6. プロジェクトAlt+1)ツールウィンドウで、テキストを更新するノードを右クリックし、コピーライトの更新を選択します。

IDE が変更を保存するたびにコピーライト表示を更新するように IDE を構成できます。

  1. Ctrl+Alt+S を押して設定を開き、ツール | 保存時のアクションを選択します。

  2. コピーライト表示の更新チェックボックスを選択します。

    このチェックボックスは、少なくとも 1 つのコピーライトプロファイルを構成し、このプロファイルが適用されるファイルのスコープを指定した場合に使用できます。

    プロファイルをまだ構成していない場合は、構成リンクをクリックします。

    Configuring the Update copyright notice option in settings

    プロファイルが構成されたら、ツール | 保存時のアクションに戻り、コピーライト表示の更新チェックボックスを有効にします。

  3. 変更を適用し、ダイアログを閉じます。

保存時に有効にできるアクションの詳細については、「変更を保存するときにアクションをトリガーする」を参照してください。

2025 年 9 月 30 日

関連ページ:

スコープとファイルの色

Ascopeis a named set of files, packages, and folders in a project. Scopes help youvisually distinguishproject items in different IDE views and limit the range of certain operations.Scopes let you logically organize files. For example, you can put tes...

変更の保存と復元

IntelliJ IDEA は、ファイルに加えた変更を自動的に保存します。保存は、コンパイル、実行、デバッグ、バージョン管理操作の実行、ファイルまたはプロジェクトのクローズ、IDE の終了などのさまざまなイベントによってトリガーされます。ファイルの保存は、サードパーティのプラグインによってトリガーすることもできます。自動保存をトリガーするイベントのほとんどは事前定義されており、構成することはできませんが、変更が失われることはなく、ローカル履歴ですべてを見つけることができます。自動保存動作を設定す...

Git リポジトリに変更をコミットしてプッシュする

Git リポジトリに新しいファイルを追加するか、すでに Git バージョン管理下にあるファイルを変更し、現在の状態に満足したら、作業の結果を共有できます。これには、ローカルにコミットしてリポジトリのスナップショットをプロジェクト履歴に記録し、次にリモートリポジトリにプッシュして他のユーザーが使用できるようにすることが含まれます。Git ユーザー名を設定する Git は、コミットを ID に関連付けるために、ユーザー名を知っている必要があります。ユーザー名を設定していない場合、IntelliJ ID...

新しいフィールドまたは定数を追加する

可視性希望の可視性修飾子を選択してください。タイプ新しいフィールドのタイプを指定します。ここではコード補完が機能することに注意してください。入力すると、候補リストが縮小され、一致するオプションが表示されます。存在しないタイプは、構文エラーとしてマークされます。名前新しいフィールドの名前を指定します。イニシャライザー新しいフィールドの初期値を指定します。この値は、宣言された型に対応する必要があることに注意してください。例: 型が文字列の場合は、推奨初期化子を引用符で囲む必要があります。ここではコー...

マクロ

マクロは、コードの作成中に頻繁に行う反復的な手順を自動化する便利な方法を提供します。マクロを記録、編集、再生したり、マクロにショートカットを割り当てたり、共有したりできます。マクロを使用して、エディター関連の一連のアクションをファイル内で組み合わせることができます。ボタンのクリック、ポップアップへの移動、ツールウィンドウ、メニュー、ダイアログへのアクセスを記録することはできません。一時マクロは名前なしで使用できます。常時マクロの場合は、一意の名前を割り当てます。マクロを記録するメインメニューで、...