The last part of sentence (1) indicates which form of the verb to use.
There aren’t many chocolates left, but there are some, so the
entire supply of chocolates has not been consumed. Therefore the speaker
would not say “Somebody has eaten my chocolates.”
That would be true only if there were no chocolates left.
Because the speaker sees evidence of chocolate-eating activity and
that not all the chocolates are gone, she says, “Somebody has
been eating my chocolates.” The eating of chocolates
may still continue.
It’s the same situation as the story of Goldilocks and the Three
Bears. Goldilocks has tried all three bowls of porridge, but has finished
the contents of the third bowl:
Papa Bear: “Someone’s been eating my
porridge!” [Most of his porridge is still in the bowl.]
Mama Bear: “Someone’s been eating MY
porridge!” [Most of her porridge is left too.]
Baby Bear: “Someone has been eating MY
porridge—and they’ve eaten it all
up! “ [The bowl is empty.]
The present perfect indicates completion of the chocolate-consumption,
while the present perfect progressive indicates temporary activity that
is incomplete. The same principle is at work in these examples:
Someone has been smoking in here. [The odor lingers
in the air.]
You’ve been using my paintbrushes again,
haven’t
you? [The brushes are dirty.]
You look exhausted; has the baby been keeping
you up at night?
This use of the present perfect progressive is based on present evidence
of recent past activity. It focuses more on the effects of the activity
than on the activity itself.
Sentence (2) in your question is different. The present perfect, “I’ve
wanted it for ages,” is grammatically acceptable. Ordinarily,
a stative verb like want does not take the progressive,
because stative verbs by their nature already have duration. Nevertheless,
a speaker may choose to emphasize the length of the time period by using
the progressive form, have been wanting. Some similar
utterances with stative verbs:
I’ve been intending to call you for ages,
but have just never gotten around to it.
The new batteries in our kids’ toys have been lasting
much longer than the old ones.
Welcome to our home! We’ve been expecting
you with great eagerness!
The present perfect progressive with stative verbs leaves the state
open-ended, while the present perfect simple brings the state only up
to the present moment. The present perfect is by far the most common
form with state verbs, and only with a very few stative verbs is the
progressive form acceptable.
Marilyn Martin
More (a comment by Rachel)
(To read comments on the present perfect, click
here.)
(To read comments on the present perfect vs.
the past, click here.)