It seems that py-build-cmake find proper cmake or vs build tool terminal when building normally. But the same mechanism is not implemented in build hook. Here is my editable section in pyproject.toml
[tool.py-build-cmake.editable]
mode = "symlink"
build_hook = true