public interface ILanguageSettingsProvider
ICLanguageSettingEntry
.
This interface is used to deliver additions to compiler options such as
include paths (-I) or preprocessor defines (-D) and others (see
ICSettingEntry.INCLUDE_PATH
and other kinds).
org.eclipse.cdt.core.LanguageSettingsProvider
and implement this
interface. The recommended way of implementing is to extend
LanguageSettingsSerializableProvider
and implement ILanguageSettingsEditableProvider
.
That will give the ability to persist and edit/clean entries by user in UI.
The clone methods defined by ILanguageSettingsEditableProvider
should be
chained as done for example by LanguageSettingsGenericProvider
.
LanguageSettingsBaseProvider
or LanguageSettingsSerializableProvider
or LanguageSettingsGenericProvider
which could be used out of the box or built upon. There are also abstract classes in build
plugins AbstractBuildCommandParser
and AbstractBuiltinSpecsDetector
which
serve as a base for output parsers and built-in compiler language settings detectors.
See also extension point schema description LanguageSettingsProvider.exsd.Modifier and Type | Method and Description |
---|---|
String |
getId()
Id is used to keep track of the providers internally.
|
String |
getName()
Name is used to present the provider to the end user in UI.
|
List<ICLanguageSettingEntry> |
getSettingEntries(ICConfigurationDescription cfgDescription,
org.eclipse.core.resources.IResource rc,
String languageId)
Returns the list of setting entries for the given configuration description,
resource and language.
|
String getId()
String getName()
List<ICLanguageSettingEntry> getSettingEntries(ICConfigurationDescription cfgDescription, org.eclipse.core.resources.IResource rc, String languageId)
getSettingEntries(ICConfigurationDescription, IResource, String)
will
return cached entries when asked. You can also implement ICListenerAgent
interface to get registered and listen to arbitrary events.cfgDescription
- - configuration description.rc
- - resource such as file or folder.
If null
, the default entries for all resources are returned.languageId
- - language id.
If null
, the default entries for all languages are returned.
(see LanguageManager.getLanguageForFile(org.eclipse.core.resources.IFile, ICConfigurationDescription)
).null
if no settings defined.
The list needs to be a pooled list created by LanguageSettingsStorage.getPooledList(List)
to save memory and avoid deep equality comparisons.Copyright (c) IBM Corp. and others 2004, 2020. All Rights Reserved.