I made it work with Debian 10 host, and a Windows 10 guest, in both directions.
install the spice-guest-tools in windows (it has a non-costly license on http://spice-space.org/)
find the details tab for the VM
put the video qxl to qxl (other may work but slower)
bottom left, click add hardware, add a channel, and put the spicevmc type with the redhat name. This is very important for the clipboard to work.
You must restart virt-manager. It is also important you shut down the OS of the VM.
you can also use the option virt-manager --debug to see logs when you copy paste.
Here can be found more details:
thanks to redhat that provided all the drivers
Since my answer was popular, I would like also to share how to share a folder.
I don't think it is supported for linux kernel older than 4.19. But it works on 4.19. You need to be careful that you do not share a folder with the whole internet wihtout password. But you need to check this yourself.
Use virt-manager to share files between Linux host and Windows guest?
You set a folder as shared by right clicking on Windows.
linux with Nautilus can connect to the smb://IP_WINDOWS. But it is better to use the shell it is more stable.
enable firmware rules on windows
Open Control Panel, click System and Security, and then click Windows Firewall.
In the left pane, click Advanced settings, and in the console tree, click Inbound Rules.
Under Inbound Rules, locate the rules File and Printer Sharing (NB-Session-In) and File and Printer Sharing (SMB-In).
For each rule, right-click the rule, and then click Enable Rule.
find ips using ipconfig and ifconfig
remove password protection for smb
It is important to deactivate authenticate for all networks in the network configuration in windows, accessible from file sharing. then the folder must be create from scratch to make sure it works
And this is how to mount
sudo mount -t cifs //192.168.1.123/Users/MrHappy/Desktop/repos /media/vm -o user=externo,password=asd,uid=1000,gid=1000,mfsymlinks
or add this in /etc/fstab
//192.168.1.123/Users/MrHappy/Desktop/repos /media/vm cifs user=externo,password=asd,uid=1000,gid=1000,mfsymlinks
And then one can mount using
sudo mount /media/vm
it is important to replace the gid and uid with the ones of the linux machine, using "id -g user" and "id -u user"
the ui adn gid are so taht not only root has access but also the user
the option mfsymlinks enables symlinks to work
before you shut down the host computer, you should run this or the mount point is stuck:
sudo umount -a -t cifs -l
It is better to do it a few minutes before shutting down the computer.