First thing I would do is to track down the high idle cause.
Engine cold idle will be 900-1,000 rpm
Warm idle 700-750 rpm
With engine warmed up and idling, unplug the connector for the IAC valve, engine rpm should drop down to 500-600 rpm.
If idle doesn't drop that means computer is not setting the high idle, most likely cause is a vacuum leak.
The IAC valve is a "controlled vacuum leak" that's how the computer raises and lowers the idle for cold and warm engine idle, it opens and close the valve to let more or less air into the intake, if your idle doesn't change from cold to warm engine temp then IAC valve may be stuck, these can be cleaned.
Just as an FYI, on all fuel injected engines IAC valves are used, and when you first start these engines the computer will open the IAC valve all the way then close it to set cold or warm idle speed, so the engine should go to high idle then drop after starting, if that is not happening then cleaning the IAC valve should be the next step.
If IAC valve is working you can start by removing one vacuum line at a time from the intake and plugging that hole with your finger, if idle drops you found a leak, check that hose and the device at the end of that hose.
If all hoses check out as OK, then you will need to spray some carb cleaner or starting fluid around the intake gasket and see if spraying at a certain spot changes rpm, if so then there is a vacuum leak at that spot.
Vacuum leak can also cause a miss as it leans out the idle fuel mix.
If unplugging the IAC valve lowers the idle to 500-600 rpm then computer is setting the idle that high for some reason.
Could be computer is not being told that engine is warmed up, that's done by the ECT sensor, but you would usually get a CEL(check engine light) if that was the case.
Could be a MAF(air flow) or MAP(air pressure) sensor giving the computer the wrong air readings.