Source Control#

The following table outlines the various files in a Studio 6 project and indicates whether each should be placed under source control.

File / Folder

Purpose

Place under source control?

Comments

.slcp, .slps, .slpb, .slcw, and .pintool

Main project metadata configuration files.

Yes

.projectlinkstore

Contains shortcuts to highlighted source files or configuration tools.

No

The file will be recreated, and the available shortcuts are tailored to the individual user.

Config folder

Contains configuration header files for the installed software components and subfolders for the Advanced Configurator (AC) files. For example, Bluetooth projects may include a btconf subfolder with the gatt_configuration.btconf and possibly in_place_ota_dfu.xml file.

Yes

These files cannot be regenerated; their contents are not stored in the project configuration files (e.g., slcp).

autogen folder

Contains files generated by the Project Configurator based on the installed software components and the files in the config folder. Required to build the project. Recreated during project generation.

Depends on team workflow. If CI builds are performed without Simplicity Studio or slc, these files should be source controlled.

simplicity_sdk_x.y.z

Necessary SDK source files created by the Project Configurator based on the installed components. Recreated during project generation.

Same as autogen folder

Files can either be links to actual files in the SDK or copies of the files from the SDK, depending on the import mode of the project.

vscode.conf and vscsolution.conf

VS Code extension integration files. Provide VS Code with tool version and basic project configuration information. Recreated during project generation.

Same as autogen folder

.vscode folder, c_cpp_properties.json, settings.json, and launch.json

Files generated by the VS Code extension during a build. The launch.json file is created when a debug session starts.

No

cmake_gcc folder, PROJECTNAME.cmake, CMakeLists.txt, CMakePresets.json, and toolchain.cmake

Folder and files created during Project Configurator generation.

Most files are regenerated and should not be modified.

For information wabout which CMake files you can make changes to, see Additional Information about CMake Files.

Build output folders under the cmake_gcc folder ('build', or a custom build configuration name)

Created when the project is built.

No (unless binary files are required for production).

artifact

Files created by the post-build generator

No (unless binary files are required for production).

README.md, *.png

Project documentation files

No

These files can be updated to share project information. Updated versions should be source controlled.

trashed_modified_files folder

Contains configuration files that were modified from default values before the component was removed by user action or an SDK upgrade.

No (unless the user wants to be able to roll back changes independently of source control).

.uceditor folder

Files that keep track of changes made with the software component editors

No