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.)

