My answer:
First steps:
Some initial non-shaded deductions to force connectivity and to prevent any groups of more than 4 tiles from being shaded
That forces some shaded squares to extend out in order to have enough space for tetrominoes; the upper left one is forced to be a T so as to not trap an unshaded square in the corner
A tricky deduction:
The orange squares must be part of an L tetromino (they can't make anything else legally). If the blue square is unshaded, that forces the green squares to be shaded to avoid making an illegal 3rd TL. However, now R2C7 can only make Ls and Ts, which are all used up elsewhere. So the blue square must be shaded.
Working on the right side:
We can now set several squares around the newly-made 3-block to unshaded to avoid another L
The newly-made 3-block must be the final T, so the other 3-block must be an S
Another tricky deduction
If R3C8 is shaded, that forces all the green squares to be shaded and the blue square to be unshaded. Now the orange square can only form Ls, Ts, and Ss, all of which are used up (the 3-block to its immediate right must be an S). Therefore R3C8 must be unshaded
Working on the middle:
Basic extensions from unshading R3C8. Note that the orange 2-block must be an S (no Ls or Ts are left)
The 2-block that was part of the i cannot be an S (none are left), so it must connect with R2C9 above it to form an I
Using up the remaining shapes:
If the orange S has its second part to the left, it will isolate some unshaded cells. Therefore its second part is to its right.
R5C11 can't be a T, L, or S so it must be an O
The right side must have an O and an I, and there is only one way to fit them
The final L must be turned to the left so as to not isolate the unshaded squares in the upper right, and then we can set all remaining squares to unshaded