Rev. 24.1.12, 12 June 2024

35.11 How do I Access Files Outside Project Dir - Working with Linked Resources

In order to see the contents of some directory on your disk, you must create an Eclipse project in that directory (see also What is a Project ).

If your project is spread across multiple directories without a reasonable common root or if you need to access files related to your project, but not located in the project directory , you can open them from menu File > Open File.... If the file is outside any project in your workspace, the editor will open and the tab icon will be grayed.

For example if you have a single project xbusonly in your workspace located in /ovm/examples/xbus that includes files from /ovm/src and you open ovm.vhdl (for example via a hyperlink from the include directive) the editor tab will look like this:

The same will happen if you jump to a definition located in the /ovm/src directory.

The functionality in "gray iconed" editors is limited (no hyperlinks etc.).

NOTE: This "capability" serves as an alarm that you are out of your project scope and avoid touching the files. But if you are just navigating in order to understand the world around your project (module), limited functionality it's not what you want.

Solution 1. Create the project in a "root directory" that contains all directories with relevant files (or emulate)

This is a simplistic solution. Besides additional relevant files, it is most likely to get in a lot of unrelated files and also slow the platform.

An alternative is to create a special "root" directory with file system links to each directory whose contents you must access. Then create an Eclipse project in the "root". It requires changes to disk (links) just to work with Eclipse, and it may not be acceptable.

Solution 2. Create a project in each relevant directory

This solution might work for you. In the example above, it is most probable that a project is already defined for ex_atm.

But if a project is just spread in multiple directories without a common root and each directory it's not really a separated project, it will be cumbersome to have my_p__dir_1, my_p__dir_2 projects.

Solution 3. Linked Resources

Chose one "main" directory to locate the project and create linked resources from it to other relevant external directories.

Linked resources are very similar with file system links, except they are registered in the .project file, not created on the disk. For more details see Linked Resources.

Full functionality is available for files accessible via linked resources.

Linked Resources

What is a Project

What is a Workspace