How can i customize all monobehaviour with CustomEditor?

as the title
CustomEditor(typeof(MonoBehaviour)) & CustomEditor(typeof(Component)) both are wrong
anyone know that?

using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(MonoBehaviour),true)]
public class MonoBehaviourEditor : Editor
{
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        var mb = target as MonoBehaviour;

    }
}

That’s not possible and in addition wouldn’t make any sense. There is always only one Editor for a particular Component. When you create a new one it replaces the old one. In general if there is a more specific Editor for a certain class and one for the base class it would always use the more specific version.

You have different Components because they serve completely different goals. All MonoBehaviours use a very basic / generic inspector that simply lists all variables with an appropriate edit field. Unity has already many custom editors built into Unity for all the built-in components (Transform, MeshRenderer, …). Those could be replaced with your own inspector but it wouldn’t make much sense. They are already optimised for that particular class.

Even if it would be possible to declare one Editor to be used by all Components, it will most likely break some of the components or make them useless. For example the Terrain inspector has the whole terrain editor built into it’s custom inspector. If you would replace it with your inspector you wouldn’t have the terrain editor anymore unless you actually replicate it in your inspector. This example holds true for pretty much any other component.

What kind of “feature” go you actually miss in every component?