Bring a large pot of heavily salted water to a boil over high heat.
Meanwhile, using a vegetable peeler, shave each asparagus spear lengthwise into thin strips. Once you get to the tip, stop and place that into the pile with the shavings.
Cook pasta in the boiling water according to package instructions. When pasta only has about a minute left, add asparagus. Cook one minute more, reserve about 1 cup of the pasta water, then drain.
Return pot to stove over low heat. Add pesto, artichoke hearts, pasta-asparagus mixture, and the pasta water. Toss with tongs until pasta is coated in pesto. Season with salt as needed and toss again. Remove from heat and serve with Parmesan if desired.