Compile failed when create new actor in Plugin

This error occurs BOTH in 4.18 & 4.19.

Firstly I created a Plugin named “CWButton” with a Blank template for my project “MyProject” and it succeeded.

Then I tried to add a Actor class in Plugin module and make sure all actor paths right. It failed.

I have searched for the answer many days but found nothing. Anyone knows this issue ?

PS.
change the Solution Configuration in Visual Studio from Development to Development Editor DOES NOT work for me.

Logs are:

Creating makefile for hot reloading MyProject (no existing makefile)
Compiling game modules for hot reload
WARNING: Warning: Plugin 'CWButton' does not list plugin 'UObjectPlugin' as a dependency, but module 'CWButton' depends on 'UObjectPlugin'.
Parsing headers for MyProjectEditor
  Running UnrealHeaderTool "E:\ue4projects\Plugin4.19\MyProject\MyProject.uproject" "E:\ue4projects\Plugin4.19\MyProject\Intermediate\Build\Win64\MyProjectEditor\Development\MyProjectEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -installed -FailIfGeneratedCodeChanges
ERROR: 'E:/ue4projects/Plugin4.19/MyProject/Plugins/CWButton/Intermediate/Build/Win64/UE4Editor/Inc/CWButton/MyActor.generated.h': Changes to generated code are not allowed - conflicts written to 'E:/ue4projects/Plugin4.19/MyProject/Plugins/CWButton/Intermediate/Build/Win64/UE4Editor/Inc/CWButton/MyActor.generated.h.conflict'
Error: UnrealHeaderTool failed for target 'MyProjectEditor' (platform: Win64, module info: E:\ue4projects\Plugin4.19\MyProject\Intermediate\Build\Win64\MyProjectEditor\Development\MyProjectEditor.uhtmanifest, exit code: OtherCompilationError (5)).
CompilerResultsLog: New page: Compilation - Sep 4, 2018, 11:42:07 PM
CompilerResultsLog: Creating makefile for hot reloading MyProject (no existing makefile)
CompilerResultsLog: Compiling game modules for hot reload
CompilerResultsLog: WARNING: Warning: Plugin 'CWButton' does not list plugin 'UObjectPlugin' as a dependency, but module 'CWButton' depends on 'UObjectPlugin'.
CompilerResultsLog: Parsing headers for MyProjectEditor
CompilerResultsLog:   Running UnrealHeaderTool "E:\ue4projects\Plugin4.19\MyProject\MyProject.uproject" "E:\ue4projects\Plugin4.19\MyProject\Intermediate\Build\Win64\MyProjectEditor\Development\MyProjectEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -installed -FailIfGeneratedCodeChanges
CompilerResultsLog: ERROR: 'E:/ue4projects/Plugin4.19/MyProject/Plugins/CWButton/Intermediate/Build/Win64/UE4Editor/Inc/CWButton/MyActor.generated.h': Changes to generated code are not allowed - conflicts written to 'E:/ue4projects/Plugin4.19/MyProject/Plugins/CWButton/Intermediate/Build/Win64/UE4Editor/Inc/CWButton/MyActor.generated.h.conflict'
CompilerResultsLog: Error: UnrealHeaderTool failed for target 'MyProjectEditor' (platform: Win64, module info: E:\ue4projects\Plugin4.19\MyProject\Intermediate\Build\Win64\MyProjectEditor\Development\MyProjectEditor.uhtmanifest, exit code: OtherCompilationError (5)).

Plugin Build .cs(I made some changes) is here:

using UnrealBuildTool;

public class CWButton : ModuleRules
{
	public CWButton(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
		
		PublicIncludePaths.AddRange(
			new string[] {
				"CWButton/Public"
				// ... add public include paths required here ...
			}
			);
				
		
		PrivateIncludePaths.AddRange(
			new string[] {
				"CWButton/Private",
				// ... add other private include paths required here ...
			}
			);
			
		
		PublicDependencyModuleNames.AddRange(
			new string[]
			{
				"Core",
				"CoreUObject",
				"Engine",
				"InputCore", 
				"UObjectPlugin"
				// ... add other public dependencies that you statically link with here ...
			}
			);
			
		
		PrivateDependencyModuleNames.AddRange(
			new string[]
			{
				"CoreUObject",
				"Engine",
				"Slate",
				"SlateCore",
				"UObjectPlugin"
				// ... add private dependencies that you statically link with here ...	
			}
			);
		
		 PrivateIncludePathModuleNames.AddRange(
			new string[] 
			{ 
				"UObjectPlugin" 
			}
			);
		 
		 DynamicallyLoadedModuleNames.AddRange(
			new string[]
			{
				// ... add any modules that your module loads dynamically here ...
			}
			);
	}
}