Starting with version 4, Code Composer Studio is based on the Eclipse open source software framework. Hence understanding some of the basic concepts of Eclipse will lead to a better understanding of Code Composer Studio. Some of the more commonly referenced concepts are described below.
# Workbench #
The Workbench refers to the main user interface. The Workbench contains all the various views and resources used for development. Multiple Workbench windows can be opened using the **Window -> New Window** menu. While each Workbench window can differ visually (arrangement of views, toolbars and such), all windows refer to the same workspace and the same running instance of Code Composer Studio. If a project is opened from one Workbench, that same project will be present in all the Workbench windows.
# Workspace #
The workspace is the main working folder for Code Composer Studio. The workspace stores references to all projects even if the projects themselves do not physically reside inside the workspace folder. The default location of new projects will be within the workspace folder. Once a project has been added to the workspace, it will be visible in the **Project Explorer** view.
Code Composer Studio will prompt for the workspace folder location when you launch the application. It is possible to specify to use the selected folder as the default folder to avoid being prompted in the future
The workspace folder is also used to store user information such as user interface preferences and settings.
Workspaces are user specific and are not typically shared between users. You would not check your workspace into source control to share with other team members. You would check your projects into source control and each user would have their own workspace that references the projects.
It possible to have multiple. Only one workspace is active at a time in Code Composer Studio but you can switch workspaces using the **File -> Switch Workspace...** menu.
# Perspective #
A perspective defines the layout of views, menus and toolbars in the Workbench window. Each perspective provides a set of functionality aimed at accomplishing a specific type of task. For example, the **CCS Edit** perspective contains views most commonly used during code development, such as the Project Explorer, Editor and Problems view. When a debug session is started, Code Composer Studio will automatically switch to the **CCS Debug** perspective. This perspective by default contains views associated with debugging. It is possible to manually switch between perspectives using the perspective buttons at the top right of the Workbench or by using the **Window -> Perspective** menu. Any changes made to a perspective will be preserved the next time the perspective is opened. A perspective can be reset to the default arrangement via the **Window -> Perspective -> Reset Perspective** menu. New perspectives can be created simply by saving the current perspective as a new name **Window -> Perspective -> Save Perspective As...** menu.
# View #
Views are windows within the main Workbench window that provide visual representation of information or data. The Workbench window mainly consists of the editor and a collection of views. Examples of some views are **Debug**, **Problems**, **Memory Browser**, **Disassembly**.
# Resource #
Resources is a collective term for a project, folder or file that exists in the Workspace.
# Project #
Projects typically contain folders and files. Like the workspace, a project maps to a physical folder in the file system. The default location, when creating a new project, is in a subfolder (of the project name) within the workspace folder. However a folder outside the workspace can also be chosen. Once the project is created, a reference to it will be made in the workspace and the project is now available for use within the Workbench and visible from the **Project Explorer**. Projects are either open or closed. When a project is closed, it is still part of the workspace, but it cannot be modified by the Workbench. The resources of a closed project will not appear in the Workbench, but the resources still reside on the local file system. Closed projects require less memory and are not scanned during routine activity. Hence closing unnecessary projects can improve performance of Code Composer Studio. Note that closed projects will still be visible Project Explorer so that they can easily be opened when needed.
A project becomes part of a workspace by being created in the workspace or by being imported into the workspace.
The Project Explorer shows all projects that are part of the active workspace. Note that the view is mostly a representation of the filesystem of the project folder. Hence when creating a subfolder and moving files to that subfolder from within the Project Explorer, the actual file system is being altered. Similarly changes made to the file system will be reflected in the Project Explorer. Note that not all files that appear in the view will exist in the file system and vice versa. Linked files will appear in the view but because they are references and not actual copies, the references do not appear in the actual file system. The **Includes** folder that appears in the Project Explorer displays all of the include paths setup for the project and is not a physical folder.
# File #
Files can either be added or linked to a project. When a file is added to a project, the file is copied to the root location of the project folder. There is also the option to 'link' a file to a project. This will simply have the project create a reference to the file instead of copying the file into the project folder.