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.