I have lost count of how many times I have started work at a new environment or on a new PC and had to set this up from scratch, so thought I'd document it here for next time!
First, create a file containing the following XML:
<items> <item type="editor" node="TableNode" vertical="true"> <title><![CDATA[Child Tables]]></title> <query> <sql><![CDATA[select cons.table_name, cons.constraint_name from all_constraints cons where cons.constraint_type = 'R' and (cons.r_constraint_name, cons.r_owner) in (select pk.constraint_name, pk.owner from all_constraints pk where owner = :OBJECT_OWNER and table_name = :OBJECT_NAME and constraint_type in ('P','U'))]]> </sql> </query> </item> </items>
Then, in SQL Developer go to Tools->Preferences... and open the Database node and select user Defined Extensions.
Click Add Row and on the new row set Type to EDITOR and Location to point to your XML file.
That's it. You may just need to restart SQL Developer to make it work.
I am indebted to Sue Harper's blog for the detailed instructions on adding tabs to SQL Developer.
Another tab I like to add is one to show the errors for an invalid view definition:
<items> <item type="editor" node="ViewNode" vertical="true"> <title><![CDATA[ERRORS]]></title> <query> <sql><![CDATA[SELECT ATTRIBUTE, LINE || ':' ||POSITION "LINE:POSITION", TEXT FROM All_Errors WHERE type = 'VIEW' AND owner = :OBJECT_OWNER AND name = :OBJECT_NAME ORDER BY SEQUENCE ASC ]]></sql> </query> </item> </items>(Update 2019: SQL Developer now includes an Errors tab for views already, so this is redundant.)