更改 Xcode 的默认头注释许可证

每当我创建一个新的。Cpp/.Xcode 的 h 文件文件的顶部会添加一条注释。例如:

/*
*  <file>.cpp
*  <Name of project>
*
*  Created by <My name> on <Date>.
*  Copyright <Year and company>. All rights reserved.
*
*/

我想将默认注释更改为另一个许可证,如 GPL/LGPL/或其他许可证。在 Xcode 有什么地方我可以改变这种行为吗?

56246 次浏览

试着修改这个文件:

/Developer/Library/Xcode/File\ Templates/C\ and\ C++/Header\ File.pbfiletemplate/header.h
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates

任何 SDK 的更新都会清除这里的更改,所以请在其他地方备份您的模板

很简单:

  1. 打开终端
  2. 在一行中写下如下内容:

    defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions -dict ORGANIZATIONNAME "Blah, Inc"
    

You don't have to worry about changing directories beforehand or anything else. It works instantly.

在 Xcode 4.2,他们在这里:

/Developer/Library/Xcode/Templates/File Templates

不要在/Developer 中编辑任何内容,因为苹果可以在任何时候覆盖这些内容。

以下代码适用于 Xcode 4、5和6,只是后面的源代码不同,在/Applications 下面

相反,复制您想要从 /Applications/Xcode<version>.app/Contents/Developer/Library/Xcode/Templates更改到 ~/Library/Developer/Xcode/Templates/File Templates的模板,然后编辑保持相同目录结构的文件,但编辑作为模板的目录名称,以避免在 Xcode 显示重复的文件。

例如,对于 Xcode 5中的一个新类别的 C/C + 文件,将 /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/C and C++复制到 ~/Library/Developer/Xcode/Templates/File Templates/GPL C and C++

这个过程是从 红眼镜的博客复制的

对于 Xcode 4,源路径是或对于 Xcode 4 /Developer/Library/Xcode/Templates/File Templates

更改通讯簿中的详细信息-添加一个公司名称。它将从那里提取。

这篇博文提供了一些在 Xcode 4.3中修改文件模板的好步骤:

Http://error-success.piku.org.uk/2012/04/27/how-to-make-xcode-4-3-2-templates/

/Developer文件夹不再存在,因此您可以从位于 /Applications中的 Xcode.app 包中复制模板:

/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File\ Templates/

And place your modified copy here, as before:

~/Library/Developer/Xcode/Templates/File\ Templates/

更新: 我决定写一个脚本来提取 Xcode 模板并替换标题。资料来源和说明可在以下网址找到:

Https://github.com/royclarkson/xcode-templates

首先尝试在 通讯簿中更改您的姓名和组织您的联系卡。

如果这不起作用,打开 系统参数 > 用户和组 > 右键单击你的用户(系统首选项必须已经解锁) > 高级选项... > 更改 全名文本框中的名称。

要更改 Xcode 的组织名称,请单击 工程项目档案,使其被选中(项目导航器中 Xcode 的左侧边栏) > 在文件检查器(Xcode 的右侧边栏)中更改 组织文本框。

Organization text box

Xcode 9有一个内置的选项,您可以找到在下面的详细信息。

  1. 创建一个名为 IDETemplateMacros.plist 的属性列表文件
  2. 向 Root 添加一个 FILEHEADER值,并使用版权文本(如 Copyright © 2017 ...)设置其字符串值
  3. 将文件复制到下列位置之一
    • 对于单个项目和用户 <ProjectName>.xcodeproj/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist
    • 用于单个项目中的所有团队成员 <ProjectName>.xcodeproj/xcshareddata/IDETemplateMacros.plist
    • 用于单个用户的工作区中的所有项目 <WorkspaceName>.xcworkspace/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist
    • 为所有团队成员的工作区中的所有项目提供 <WorkspaceName>.xcworkspace/xcshareddata/IDETemplateMacros.plist
    • 不管你做什么项目,你都可以使用它 ~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist
  4. 创建一个新文件-您应该会看到新的版权标题

复制和粘贴样本 IDETemplateMacros.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>FILEHEADER</key>
<string>
//  Created by Your Name on 29.12.17.
//  Copyright © 2017 Your Company. All rights reserved.
//  </string>
</dict>
</plist>

- 按 ⌘ 1显示文件导航器。
- 点击 File Navigator顶部的项目名称。
- 按 ⌘⌥⇧ ⏎(即命令选项 Shift 返回)查看 Version Editor
- 确保显示比较视图(View > Version Editor > Show Comparison View)。

这使您可以看到项目的 project.pbxproj 文件的原始文本。

- 按 ⌘ f搜索 project.pbxproj 文件,粘贴 ORGANIZATIONNAME并按 Return。

这是定义版权文本后面的组织名称的地方。


或者打开 Xcode 的列表

~/Library/Preferences/com.apple.dt.Xcode.plist

并更改 organizationName键的值。


或者从 Navigator 窗格中选择项目,并显示带有 ⌘⌥ 1File Inspector

查看 Project Document下面的 Organization值。更改那里的值。

对于 应用程式码用户:

  1. 转到 偏好(CMD + ,)
  2. Editor-File and Code Templates
  3. 计划改为 Project
  4. 根据需要修改 文件和/或 包括
  5. 如果需要,添加到 git .idea/fileTemplates

在 Xcode 12.4中

使用 Xcode,创建一个名为 IDETemplateMacros 的 plist 文件。

最初配置时将其保存到桌面。

如果在 ProjectNavigator 中看不到该文件,请从 Xcode 菜单中选择 View > Navigators > Project

右键单击文件名并选择 Open as > Source Code

下面是一个模板,很好地为我工作,所以机会,它将为你太多。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>FILEHEADER</key>
<string>
//
// ___FILENAME___
// ___PACKAGENAME___
//
// Created by ___FULLUSERNAME___ on ___DATE___
// Copyright © ___YEAR___ ___FULLUSERNAME___. All rights reserved.
//
</string>
</dict>
</plist>

复制并粘贴上述内容,覆盖现有内容。

保存文件并关闭它。

在 Finder 中导航到以下文件夹:

~/Library/Developer/Xcode/UserdData/

将文件从桌面拖动到此文件夹,然后使用 Xcode 进行测试以创建新项目。

我刚刚更改了一个 SwiftUI 文件的模板,您必须打开 Xcode 的内容并查找要更改的模板文件。 要更改 SwiftUI 模板,路径如下:

/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File\ Templates/MultiPlatform/User\ Interface/SwiftUI\ View.xctemplate

你需要用 sudo 开场

使用 Xcode 14

假设您想修改(或删除) XCodeHeader 注释。

  • 首先打开 XCode,使用 File > New File... (something N)并从文件模板中选择 Property List。
  • 命名为 IDETemplateMacros.plist文件
  • 在导航器上,右键单击 Open as source code选择该文件。Xcode 将把属性文件显示为文本。属性文件实际上只是 XML 文件。
  • 复制粘贴以下内容:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>FILEHEADER</key>
<string>Created for ___PROJECTNAME___ in ___YEAR___
// Using Swift ___DEFAULTTOOLCHAINSWIFTVERSION___</string>
</dict>
</plist>

在根结构上,我们添加了一个条目,其中包含关键字 FILEHEADER 和一个两行字符串作为值:

Created for ___PROJECTNAME___ in ___YEAR___
// Using Swift ___DEFAULTTOOLCHAINSWIFTVERSION___

在文件夹中保存 IDETemplateMacros.plist 文件:

~/Library/Developer/Xcode/UserData/

就是这样,现在当创建一个名为 MyProject 的新项目时,标题将是:

//Created for MyProject in 2022
// Using Swift 5.0

注1 < a href = “ https://help. apple.com/xcode/mac/9.0/index.html? localePath = en.lproj #/dev7fe737ce0”rel = “ nofollow norefrer”> https://help.apple.com/xcode/mac/9.0/index.html?localepath=en.lproj#/dev7fe737ce0上有一个宏列表

注2 举个例子,你可以这样写:

 Created ___DATE___
// ___COPYRIGHT___

注意,前面有一个空格,但是第一行的注释中没有//。

注3 有关更多选项列表,请参见: Https://useyourloaf.com/blog/changing-xcode-header-comment/

可以全局重写文本宏,也可以重写单个工作区或项目的文本宏。您还可以决定为单个用户保留宏或与所有用户共享宏。

Xcode 搜索的位置的完整列表,按优先级排列:

项目-单用户

<ProjectName>.xcodeproj/xcuserdata/[username].xcuserdatad/

项目-由所有用户共享

<ProjectName>.xcodeproj/xcshareddata/

工作区-单用户

<WorkspaceName>.xcworkspace/xcuserdata/[username].xcuserdatad/

工作区-由所有用户共享

<WorkspaceName>.xcworkspace/xcshareddata/

对于 Xcode 来说是全球性的

~/Library/Developer/Xcode/UserData/

我不记得默认的模板是什么,但是你可以使用 textMacros以任何你喜欢的方式制作一个模板:

//  ___FILENAME___
//  ___PACKAGENAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//  ___COPYRIGHT___
//

如果您喜欢更多的定制,还有一些其他的 textMacro,但是这些已经足够制作类似于默认 textMacro的东西了。

如果在路径中没有找到文件,您可以自己创建该文件