This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCSTUDIO: How to configure CCS 20.2 to store .metadata inside the project folder?

Part Number: CCSTUDIO

Tool/software:

Hi everyone,

I'm currently using Code Composer Studio 20.2 and I noticed that the .metadata folder for the workspace is stored in the default location: C:\Users\<username>\AppData\Local\Texas Instruments\CCS\.ccs-server\workspaces\<workspace-id>\.metadata

For better portability and version control, I would like to configure CCS so that the .metadata folder is saved directly inside the project folder — ideally something like: D:\MyProject\.metadata

Is there a way to configure CCS 20.2 to:

  1. Store .metadata inside the project directory?

  2. Automatically load the workspace from that location when opening the project?

Any tips, flags, or configuration tweaks would be greatly appreciated!

Thanks in advance, Oleg

  • Hello Oleg,

    I would like to configure CCS so that the .metadata folder is saved directly inside the project folder

    The workspace .metadata location is not meant to be changed and hence the location is not configurable.

    Thanks

    ki

  • Why so categorical? After all, this creates major problems with project portability. A model where the project folder also stores all the workspace design data is clearly more convenient for the user.

  • I don't have the internal details to answer this question properly but I believe the current functionality was needed to support some other desired behavior specific to CCS. I will see if I can get more details.

  • The intent was to separate cache information from actual files that people would want to share. Workspace level settings would be stored inside the workspace folder and this can be shared with the workspace folder. The cache information stored in .metadata is not designed to be shared and was moved to a different location in the users home folder. 

  • Hi Ki!
    I don't know what your priorities are, but every day I transfer my project from home to work and every day I curse as I reconfigure my workspace shell. In any case, you could let developers decide for themselves, using settings, whether confidentiality or convenience is more important to them.

  • I reconfigure my workspace shell. In any case, you could let developers decide for themselves, using settings,

    What is it that needs to be reconfigured for your use case? Note that IDE settings can be configured at the global (user), workspace, and workspace folder level. If a project is imported from its original location (creating a multiroot workspace) where the project folder is added (not copied), then you can apply settings to just that project folder. This will create a .theia folder inside the project folder with a settings.json inside which has all the IDE settings set at the project level.

    I tend to copy entire workspace folder (which multiple projects in them) from machine to machine. Hence I tend to save settings at the workspace level so that it is stored in the .theia folder inside the workspace folder with my projects. 

  • Hi Ki,

    Thanks again for your detailed responses — they’ve helped me understand the architecture of CCS Theia much better.

    You mentioned that if a project is imported from its original location (creating a multiroot workspace), it’s possible to store IDE settings inside the project folder via a .theia/settings.json file. I’ve tried opening my project folder directly using File → Open Folder..., but CCS doesn’t seem to treat it as a multiroot workspace, and no .theia/settings.json is created inside the project.

    Could you please walk me through the exact steps you use to create a multiroot workspace that enables per-project settings? For example:

    • Do you start with an empty workspace and add folders?

    • Do you manually create a .code-workspace file?

    • Is there a specific UI flow or command that triggers CCS to treat it as multiroot?

    I’d appreciate a step-by-step guide or even a screenshot of your setup if possible. My goal is to make my project fully portable, including IDE settings, without needing to reconfigure the environment daily.

    Thanks again for your time and support!

    Best regards, Oleg Pavlovsky

  • Could you please walk me through the exact steps you use to create a multiroot workspace that enables per-project settings?

    I created a short video:

    There is also some information in this section of the user's guide:

    https://software-dl.ti.com/ccs/esd/documents/users_guide_ccs/ccs_ide.html#settings-precedence

    You then should be able to take the project and import it to another workspace on another machine and create a multi-root workspace there. Since the project folder has a .theia folder with a settings.json, the settings there should apply to that folder.

    Admittedly, I find this a bit clumsy compared to working with entire workspaces. However, I'm not sure which is best for potability. I do think there is some room for improvement here in regards to usability and robustness and give the team my feedback.

    Thanks

    ki