After a bit of searching I found the answer.
Add a new external editor in WinSCP (Options/Preferences/Editors/Add)
With this info:
External Editor: "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe" /Edit !.!
External editor opens each file in a separate window: not checked/blank
Force text transfer mode: checked
Note that the location of the devenv.exe file might vary depending on your configuration, you can search for it.
Before you open a file in WinSCP, open Visual Studio and create a new blank project. I tend to open this every time I'm editing files from WinSCP, otherwise it opens files in whatever solution you happen to have open, or,sometimes, spawns a new VS instance each time you open a new file. If you have a blank solution open then the files all open in tabs in the current VS instance.
As you save the files in VS they get saved to the remote server as usual.