Defining Project Properties

You have flexibility in choosing the scope of a particular property depending on the range of projects you will be working with.

Initially, global properties are set by the 3GL language module. These default properties can be changed and saved according to the following NetBeans scheme:

—  You can modify the default settings on the User level to change the properties of all projects for a particular user.

—  You can modify the default settings on a Project level to change the properties of just the currently loaded IDE project.

—  You can use the Default level settings to globally reset the properties for all users and all projects.

In addition, the 3GL language module maintains individual file properties that can be inherited from the project level or that you may set individually.

Default user and project settings are mutually exclusive, meaning only one of them can be in effect for all of the properties. For example, if you choose to set your language properties at the Project level, these will be used exclusively for the current IDE project. If you then choose Default, the default global settings will be restored for all settings. If you later make settings at the User level, only the latter will be accepted instead of default settings and/or any previous project settings.

Project-level settings

For each individual IDE project, you can define different properties with a scope limited to the files you work with in this particular project. Only one project can be active in the IDE at any given point of time.

(See Using the Project Manager)

File properties

At the level of individual source files, you can set properties that belong only to that one particular file.

Inheriting properties

Files inherit their compilation properties from the project level.

Inherit from project is an option that is set by default for all file-level properties in the Chooser  dialog boxes. You can exert full control over individual file settings by de-selecting the inheritance option for a particular property, while still being able to inherit all values that you do not need to change.

For example, if  all of your projects are compiled with the COBOL compiler, you  do not have  to change this default setting, nor will you have to apply it at the Project or User level. If there is a command file you need to use when compiling a particular file, you can specify that with the file-level Command File property.

Usage Notes

Boolean values do not have an explicit option for inheritance, meaning that changing the value of a file-level boolean property means you are breaking the project inheritance.

The diagram illustrates the general relationship between the three levels of properties you can set within NetBeans and the additional file-level properties provided by the 3GL language module.