Main Content

matlab.project.Project

工程对象

说明

matlab.project.Project 对象表示当前加载的工程。使用工程对象以编程方式操作工程,与源代码管理交互,以及查找文件依存关系。

创建对象

要创建 matlab.project.Project 对象,请使用 currentProject 函数获取当前打开的工程。例如:

proj = currentProject;
如果当前没有打开的工程,请使用 openProject 函数加载现有工程。例如:
proj = openProject("C:/workSpace/project1/");
要创建和打开空白工程并获取工程对象,请使用 matlab.project.createProject 函数。例如:
proj = matlab.project.createProject;

属性

全部展开

工程名称,指定为字符串标量。

工程描述,指定为字符串标量。

工程根文件夹的路径,指定为字符串标量。

此属性是只读的。

顶层状态,返回为逻辑值 1 (true)(如果工程是顶层工程)。

此属性是只读的。

工程权限状态,返回为逻辑值 1 (true)(如果工程在使用添加、删除和创建对象函数时具有有限权限)。引用工程状态始终为只读,以防止修改。

工程定义文件类型,指定为由 DefinitionFilesType 对象组成的数组。使用 matlab.project.convertDefinitionFiles 以编程方式更改当前工程定义文件类型。

此属性是只读的。

源代码管理信息,指定为字符串数组。

示例: "Branch status: Normal" "No remote tracking branch" "Current branch: main"

此属性是只读的。

工程存储库位置,指定为字符串标量。

此属性是只读的。

源代码管理集成类型,指定为字符串标量。

示例: "Git"

工程文件的路径,指定为由 ProjectFile 对象组成的数组。当您添加或删除工程文件时,此属性会更改。您可以使用 addFileaddFolderIncludingChildFilesremoveFile 来添加或删除工程文件。

工程的快捷方式文件,指定为由 Shortcut 对象组成的数组。添加或删除快捷方式文件时,此属性会更改。您可以使用 addShortcutremoveShortcut 以编程方式创建或删除快捷方式文件。

工程的标签类别,指定为由 Category 对象组成的数组。在创建或删除标签类别时,此属性会更改。您可以使用 createCategoryremoveCategory 以编程方式创建或删除标签类别。

工程文件之间的依存关系图,指定为 digraph 对象。

工程启动文件,指定为字符串数组。在添加或删除启动文件时,此属性会更改。您可以使用 addStartupFileremoveStartupFile 以编程方式添加或删除启动文件。

工程关闭文件,指定为字符串数组。在添加或删除关闭文件时,此属性会更改。您可以使用 addShutdownFileremoveShutdownFile 以编程方式添加或删除关闭文件。

添加到 MATLAB® 路径的工程路径文件夹,指定为由 PathFolder 对象组成的数组。

引用工程的路径,指定为由 ProjectReference 对象组成的数组。当您添加或删除引用工程时,此属性会更改。您可以使用 addReferenceremoveReference 以编程方式添加或删除引用工程。

工程启动文件夹的路径,指定为字符串标量。

Simulink® 缓存文件夹的路径,指定为字符串标量。

Simulink Coder™ 代码生成文件夹的路径,指定为字符串标量。

依存关系分析缓存文件的路径,指定为字符串标量。

对象函数

全部展开

currentProject获取当前工程
openProject加载现有工程
isLoaded确定工程是否已加载
reload重新加载工程
close关闭工程
export将工程导出到存档
matlab.project.createProject创建空白工程
matlab.project.convertDefinitionFiles更改工程的定义文件类型
matlab.project.deleteProject停止文件夹管理并删除工程定义文件
matlab.project.loadProject加载工程
matlab.project.rootProject获取根工程
addFile将文件或文件夹添加到工程中
addFolderIncludingChildFiles将文件夹和子文件添加到工程中
removeFile从工程中删除文件或文件夹
addPath将文件夹添加到工程路径
removePath从工程路径中删除文件夹
addReference将引用工程添加到工程中
listAllProjectReferences列出当前工程的引用层次结构中的所有工程
removeReference删除工程引用
addStartupFile将启动文件添加到工程中
addShutdownFile将关闭文件添加到工程中
removeStartupFile从工程启动列表中删除启动文件
removeShutdownFile从工程关闭列表中删除关闭文件
addShortcut向工程添加快捷方式
removeShortcut从工程中删除快捷方式
addLabel将标签附加到工程文件
createLabel创建工程标签
removeLabel从工程中删除标签
findLabel获取工程文件标签
createCategory创建工程标签的类别
findCategory查找标签的工程类别
removeCategory删除标签的工程类别
findFile按名称查找工程文件
listModifiedFiles列出工程中修改的文件
listRequiredFiles获取指定工程文件所需的文件
listImpactedFiles获取受指定工程文件更改影响的文件
listAllProjectReferences列出当前工程的引用层次结构中的所有工程
refreshSourceControl更新工程文件的源代码管理状态
runChecks运行所有工程检查
updateDependencies更新工程依存关系
matlab.project.isUnderProjectRootDetermine whether file or folder is under project root folder
matlab.project.isFileInProjectDetermine whether file or folder belongs to project

示例

全部折叠

打开 Times Table App 工程,并使用 currentProject 获取可通过编程方式操作的工程对象。

openExample("matlab/TimesTableProjectExample")
proj = currentProject
proj = 

  Project with properties:

                        Name: "Times Table App"
    SourceControlIntegration: "Git"
          RepositoryLocation: "C:\workSpace\examples\repositories\TimesTableApp"
       SourceControlMessages: ["Branch status: Normal"    "Current branch: main"    "No remote tracking branch"]
                    ReadOnly: 0
                    TopLevel: 1
                Dependencies: [1×1 digraph]
                  Categories: [1×1 matlab.project.Category]
                       Files: [1×15 matlab.project.ProjectFile]
                   Shortcuts: [1×4 matlab.project.Shortcut]
                 ProjectPath: [1×3 matlab.project.PathFolder]
           ProjectReferences: [1×0 matlab.project.ProjectReference]
                StartupFiles: [1×0 string]
               ShutdownFiles: [1×0 string]
         DefinitionFilesType: FixedPathMultiFile
                 Description: "This example project contains the source code and tests for a simple educational app. ↵↵Use the "Project Shortcuts" toolstrip tab to find ways of getting started with this project."
                  RootFolder: "C:\workSpace\examples\TimesTableApp"
        ProjectStartupFolder: "C:\workSpace\examples\TimesTableApp"
         DependencyCacheFile: ""
       SimulinkCodeGenFolder: ""
         SimulinkCacheFolder: ""

打开 Times Table App 工程并创建一个工程对象。

openExample("matlab/TimesTableProjectExample")
proj = currentProject;

找到可对该工程对象执行的函数。

methods(proj)
Methods for class matlab.project.Project:

addFile                       export                        removeCategory                
addFolderIncludingChildFiles  findCategory                  removeFile                    
addPath                       findFile                      removePath                    
addReference                  isLoaded                      removeReference               
addShortcut                   listAllProjectReferences      removeShortcut                
addShutdownFile               listImpactedFiles             removeShutdownFile            
addStartupFile                listModifiedFiles             removeStartupFile             
addprop                       listRequiredFiles             runChecks                     
close                         refreshSourceControl          updateDependencies            
createCategory                reload                        

Methods of matlab.project.Project inherited from handle.                      

获取一个工程对象,并检查其属性。

打开 Times Table App 工程。使用 currentProject 从当前加载的工程创建一个工程对象。

openExample("matlab/TimesTableProjectExample")
proj = currentProject;

检查工程文件。

files = proj.Files
files = 

  1×14 ProjectFile array with properties:

    Path
    Labels
    Revision
    SourceControlStatus

检查第 13 个文件的标签。

proj.Files(13).Labels
ans = 

  Label with properties:

            File: "C:\workSpace\examples\TimesTableApp\utilities\runTheseTests.m"
        DataType: 'none'
            Data: []
            Name: "Design"
    CategoryName: "Classification"

按名称获取特定文件。

myfile = findFile(proj,"source/timesTableGame.m")
myfile = 

  ProjectFile with properties:

                   Path: "C:\workSpace\examples\TimesTableApp\source\timesTableGame.m"
                 Labels: [1×1 matlab.project.Label]
               Revision: ""
    SourceControlStatus: Unmodified

了解您可以使用该文件做什么。

methods(myfile)
Methods for class matlab.project.ProjectFile:

addLabel     findLabel    removeLabel  

版本历史记录

在 R2019a 中推出