I have created through Visual Studio a Content Type that inherits from Item and a custom list using this content type. What I would like is to remove the item content type that appears when creating a new item.
More precisely, this option here:
Any way to achieve this through Visual Studio so it appears in every instance?
Go to the List Settings page for your list, scroll down to the Content Types section, click on the link 'Change new button order and default content type', and on the following page uncheck 'Visible' for the Item content type. It will no longer be visible in the new item ribbon menu.
Would you like a PowerShell solution for your query? Once you deploy your wsp package you can run a Tiding up PowerShell script which can take care of all such requirements. Make a PowerShell script file, and write all the functional logic which you want to achieve on top of wsp package. Removing content type can be one of it.
Below is a server side PowerShell script which will remove ITEM content type from the list
$web = Get-SPWeb "UrlOfYourSite"
$list = $web.Lists["YourListName"]
$ctToRemove = $list.ContentTypes["Item"]
Write-Host "Removing Item content type"
Write-Host "Item content type do not exists in list"