--- a\src\plugins\remotelinux\genericdeploystep.cpp 2024-01-26 00:47:15.000000000 +0800 +++ b\src\plugins\remotelinux\genericdeploystep.cpp 2024-01-28 17:27:46.000000000 +0800 @@ -49,12 +49,23 @@ method.setDisplayStyle(SelectionAspect::DisplayStyle::ComboBox); method.setDisplayName(Tr::tr("Transfer method:")); method.addOption(Tr::tr("Use rsync if available. Otherwise use default transfer.")); method.addOption(Tr::tr("Use sftp if available. Otherwise use default transfer.")); method.addOption(Tr::tr("Use default transfer. This might be slow.")); +#ifdef Q_OS_WIN + auto targetDevice = DeviceKitAspect::device(kit()); + if( targetDevice->extraData(ProjectExplorer::Constants::SUPPORTS_RSYNC).toBool() ) { + method.setDefaultValue(0); + } else if( targetDevice->extraData(ProjectExplorer::Constants::SUPPORTS_SFTP).toBool() ) { + method.setDefaultValue(1); + } else { + method.setDefaultValue(2); + } +#endif + setInternalInitializer([this]() -> expected_str { if (BuildDeviceKitAspect::device(kit()) == DeviceKitAspect::device(kit())) { // rsync transfer on the same device currently not implemented // and typically not wanted. return make_unexpected( Tr::tr("rsync is only supported for transfers between different devices."));