Start by toasting the pine nuts first in a small pan over medium heat. This should only take a couple minutes, you just want them lightly toasted, make sure you watch them as they could burn quickly. This step is optional but I really recommend it as it will give the pesto a really nutty and creamy flavor.
In a food processor add all the pesto ingredients and pulse a few times, don't over process as you don't want a smooth consistency. Taste for salt and pepper and add more if needed.
Cook the pasta according to the package instructions.
Meanwhile, take about 1 or 2 tbsp of the pesto and toss it with the shrimp until all the shrimp are coated. Season the shrimp with a bit of salt and pepper.
In a large skillet heat 1 tbsp of the olive oil. Add the shrimp to the skillet and cook on both sides until the shrimp turns pink and a bit crisp, should not take more than 2 minutes per side.
Remove the shrimp from the skillet and transfer to a plate. Add the remaining tbsp of olive oil to the skillet then add the asparagus. Cook the asparagus for about 2 minutes just until is gets a bit tender.
Add the heavy cream to the skillet and bring to a boil. Stir in the remaining pesto.
Turn off the heat and toss in the pasta, tomatoes, and Parmesan cheese.
Serve warm and sprinkle with additional Parmesan cheese if desired.