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:
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.
Any property value that you specify at the file level will always override project, user, or default values. There is no automatic reset option available.
If you do not specify a project-level property, then the global property - either the user or default value - determines the project values.
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.