Marco,
I found the line in my code that was causing the issue.
Basically going from this:
htp.p(q'%
-- a lot of javascript;
var js = '%'||v_plsql_var||q'%';
-- a lot more javascript;
%');
to this:
htp.p(q'%
--a lot of javascript;
%');
htp.p('var js = '''||v_plsql_var||'''');
htp.p(q'%
--a lot more javascript;
%');
solves the issue.
SQL*plus doesn't discriminate between either of the above cases; each compiles and produces expected output. However, only the latter snippet causes functions and procedures to be listed in PL/SQL Developer's Code Contents pane -- the first causes an empty list.
P.S.: The "--" comments in the q'' blocks are for visualization only; they would certainly break in multi-line PL/SQL code!