How can I create list of a group’s fields for a select field’s options in my Field Settings?
Your plugin will need a few things.


A FieldType
FieldType Settings using defineSettings() and getSettingsHtml() method
A template that will render your settings which will be referenced in the craft()-&gt;templates-&gt;render function of the getSettingsHtml() method


On the settings template, I believe you will need two dropdowns.  The first, will just be a dropdown of available Sections.  Upon selecting the section, you would update the second Dropdown to have a list of the Matrix fields within that section, or a message saying that no Matrix fields we're available.  Or perhaps, you can just sort out which Sections have Matrix fields to start off with, and only display those Sections in the dropdown.

I'm not sure if there is a more efficient way to just grab Matrix fields, but here are some functions that may help you get to what you need:

Get all available Sections

$sections = craft()-&gt;sections-&gt;getAllSections()


Get a specific section by ID

$section = craft()-&gt;sections-&gt;getSectionById(1);


Get the FieldLayoutFieldModels attached to a Section (Note Fields are not related to the Section directly, they are related to a FieldLayout, which is related to an EntryType, which is related to your Section).  In the example below, I have assumed you are grabbing the first EntryType using getEntryTypes()[0] however in your code, you'll likely have to do a bit more logic to make sure you're getting what you want:

$fields = $section-&gt;getEntryTypes()[0]-&gt;getFieldLayout()-&gt;getFields();


Once you have the FieldLayoutFieldModels, you can access each FieldModel using the getField() method and check which type of field type it is:

foreach ($fields as $field) 
{
  $field = $field-&gt;getField();          

  if ($field-&gt;type == 'Matrix') 
  {
    // Build an array of the options for your Matrix fields dropdown
  }             
}


Once you build an array of your options, you can hand them off to your fields settings template in the getSettingsHtml() method and loop through and output them in your template file.  The doc pages referenced at the beginning of this post go over that in more detail.

return craft()-&gt;templates-&gt;render('yourplugin/_fields/settings', array(
    'settings' =&gt; $this-&gt;getSettings(),
    'matrixFieldOptions' =&gt; $matrixFieldOptions
));