[editor] refactor hasProject