CLion 2021.1 Help

Copyright

Your project may contain files that you want to protect by copyright. Instead of inserting a copyright notice in each file separately, you can use copyright profiles.

A profile defines copyright notice text and a set of files (a scope) in which this text will be incorporated.

You may need several different copyright notices for files within the same project. In this case, you can configure several profiles and associate them with different scopes.

  1. Press Ctrl+Alt+S to open IDE settings and select Editor | Copyright | Copyright Profiles.

  2. To configure the default profile for all newly created projects, select File | New Projects Settings | Settings/Preferences for New Projects.

  3. Click Add and name the new profile.

  4. Enter copyright notice text.

    You can enter plain text, or configure a Velocity template. For the template, use variables, and click Validate to make sure that it is configured correctly.

    Creating a new copyright profile

Assign a profile to a scope of files

  1. Press Ctrl+Alt+S to open IDE settings and select Editor | Copyright.

  2. Click Add   Alt+Insert, and select an existing shared scope from the list.

    You can define a new scope if necessary. Click the Select Scopes to add scopes or modify existing ones link in the lower part of the page.

  3. From the Copyright list, select the profile that you want to link with the scope.

    Copyright scopes settings
  4. Apply the changes and close the dialog.

By default, the IDE pastes a block comment before other comments with a prefix in each line and adds a blank line after the block.

copyright notice in the default format

You can change the default format in the settings:

  1. Press Ctrl+Alt+S to open IDE settings and select Editor | Copyright | Formatting.

  2. On this page, you can configure the formatting for all types of files. If you want to change the formatting for a specific file type, select it under the Formatting node.

  3. Configure the formatting options. Use the preview section to make sure that the new formatting looks as intended.

    Copyright formatting settings for C/C++
  • To insert the text into a single file, open it in the editor, press Alt+Insert, and select Copyright from the popup.

    Insert a copyright

  • To insert the text into a group of files, right-click a node in the Project tool window, and select Update Copyright. You will be prompted to select in which scope you want to update the notice.

    A node may include files that belong to different scopes. In this case, copyright notices will be generated according to the assigned profiles.

    If a node contains a file that doesn't belong to any scope, the IDE will assign the default profile to it.

  1. Press Ctrl+Alt+S to open IDE settings and select Editor | Copyright | Copyright Profiles.

  2. Select the necessary profile and edit the copyright text.

  3. In the Regex to detect copyright in comments field, specify a regular expression that will be used to find existing copyright notices in files.

    The IDE will use this expression to identify the copyright comment among other comments. For example, such comments normally contain the word Copyright.

  4. In the Allow replacing copyright if old copyright matches field, specify a regular expression that the IDE will use to search for the files in which copyright text should be updated.

    For example, if you want to update the copyright text in all files that contain years 2000-2006 and 2010-2016 in their copyright, specify 20[0-1][0-6].

  5. Apply the changes and close the dialog.

  6. In the Project tool window, right-click the node for which you want to update the text, and select Update Copyright.

Set the default copyright profile

The settings of the default profile will be applied to files that are not explicitly included in any scope covered by a profile.

  1. Press Ctrl+Alt+S to open IDE settings and select Editor | Copyright.

  2. From the Default project copyright list, select the profile you want to use as the default profile.

Last modified: 21 June 2021