选择Git后如何有条件地生成文件?

时间:2018-11-08 06:25:10

标签: qt-creator wizard

为了使用Qt Creator加快工作流程,我创建了一个JSON格式的自定义项目向导,在其中添加了Summary page

{
    "trDisplayName": "Project Management",
    "trShortTitle": "Summary",
    "typeId": "Summary"
}

File generator中,我将两个文件,即.gitattributes.gitignore复制到项目目录:

{
    "source": ".gitattributes",
    "target": "%{TargetPath}/.gitattributes"
},
{
    "source": ".gitignore",
    "target": "%{TargetPath}/.gitignore"
}

这样写,即使未选择Git作为版本控制系统,也始终会复制文件。我希望仅在需要时才复制文件。

“摘要”页面的文档说:

  

它将VersionControl设置为使用中的版本控制系统的ID

但未添加有关VersionControl变量及其值的更多信息。

如何获得理想的结果?

1 个答案:

答案 0 :(得分:0)

我建议您采用以下解决方案:

  1. 通过转到

    将键盘快捷方式分配给Wizard.Inspect命令

    工具-> 选项-> 环境-> 键盘-> 快捷方式

  2. 启动自定义向导并导航到​​“摘要”页面

  3. 按下选定的快捷方式

    这将打开一个窗口,其中列出了触发操作时向导中所有已定义的字段和变量。在那里您可以找到:

    Key            | Type    | Value | Eval
    VersionControl | QString | G.Git | G.Git
    
  4. 具有此信息,请更改 File generator 代码,如下所示:

    {
        "source": ".gitattributes",
        "target": "%{TargetPath}/.gitattributes",
        "condition": "%{JS: '%{VersionControl}' === 'G.Git'}"
    },
    {
        "source": ".gitignore",
        "target": "%{TargetPath}/.gitignore",
        "condition": "%{JS: '%{VersionControl}' === 'G.Git'}"
    }