I don’t mean to be a downer here but… It sounds like she’s just not right for you. To me it sounds like you’ve made efforts to try to improve and she hasn’t. It takes two people working on a relationship to make it last.
While yes, communication is one key in a healthy and lasting relationship, the other key is mutual respect. Yes, you have to talk to each other, but just as important is having the respect to try and understand the other person’s side and find a mutually acceptable resolution. It sounds like she doesn’t respect you much, to me.
Granted, this isn’t my relationship, and I’m sure I’m only seeing one negative aspect instead of the full picture, so don’t take my words as definitive. But, I stand by this: if you don’t feel respected, the relationship either isn’t going to last, or it will and you will be miserable.
This was clever. You deserve more credit than a couple upvotes, so have a comment too!