There are two types of fenced code blocks, and the one most people write, the one with backticks, basically can't be written in some languages because their keyboards like a backtick key.
Maybe you are right, in my experience either the code you have easily available to you (either because another person or a computer wrote it) is perfect for your use case (to the best of your knowledge anyway) or rewriting it from scratch is usually better than morphing what you have into what you need.
It depends what you mean by "given", I can't write a million line document describing exactly what kind of style I want it to use, the formatter must learn the style on its own from examples.
I agree that something like that would be much easier to make in theory, hence why I'm suggesting it since maybe it could be made ~perfectly, which Codepilot isn't (we haven't unlocked AGI yet).
The problem I see with that is that's not possible for it to understand well which code is the best, GPT-3 is trying to mimic human writing in general, the thing is most human code is garbage, if this system was able to understand how to make code better you could keep training it until you had perfect code, which is not what the current system is giving you (a lot of the times anyway).
There aren't enough knobs to turn to get exactly what you want, I have a 500+ lines file full of linter rules configurations and that's still not good enough.
At the end of the day I think it boils down to this simple fact: you can't imperatively codify what makes the face of a person beautiful for you because that's too complicated, similarly you can't codify what makes for beautiful code to your eyes, it's something that must be learned from examples.
Last time I tried Tabnine it wasn't really of much use to me, the top of the line GPT-3 is a much much bigger model, it should be able to do much more intelligent things.
How big/complicated are the functions Copilot is autocompleting for you? I'm thinking perhaps reading 10 potential candidates is actually slower and less instructive than trying to write the thing yourself.
There are no tools that can format my code with my coding style AFAIK. There are multiple tool that can format my code with their coding style though, which I don't care about.
It's "just" an autocompletion system basically, if you write something that looks like the beginning of a test it should understand that and try to autocomplete that.
IMO a potentially more interesting application of this technology would be a learning system that is able to learn your coding style. You give it access to the codebase and it reformats all files on save according to your likings, perfectly.
Obviously a program that is able to write actual great code reliably would be spectacular, but we aren't there yet, I don't think Copilot presently is able to make me meaningfully more productive.