Preheat oven to 350°F (175°C). Grease and flour a 9x13-inch baking pan.
In a large bowl, combine sugar, flour, eggs, baking soda, and vanilla.
Stir in undrained pineapple until fully combined.
Pour batter into pan and bake for 40–45 minutes, or until golden and a toothpick comes out clean.
While cake bakes, combine butter, sugar, and evaporated milk in a saucepan. Bring to a boil, stirring constantly, and boil for 4–5 minutes.
Remove from heat; stir in coconut, nuts, and vanilla.
Pour hot icing over warm cake and spread evenly.
Let cool completely before slicing.