No, you can't change the license, but you can clone the permission set using vs code.
Get your existing permission using package.xml
<types>
<members>*</members>
<name>PermissionSet</name>
</types>
Now, follow the below process to clone the Permission Set.
- In the permission set folder, you will get the meta XML file for the
permission set.
- Copy and paste the file in the same folder, change the name to the
desired name of the cloned permission set.
- Change the label of the new permission set in the meta XML file.
- Change the License Name of the new permission set in the meta XML
file.
- Now, deploy the new permission set.
See here is the example of meta XML file of the permission set, it contains all the settings.
<?xml version="1.0" encoding="UTF-8"?>
<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
<hasActivationRequired>false</hasActivationRequired>
<label>------Add the desired label here-----</label>
<license>------Add the desired license here-----</license>
<userPermissions>
<enabled>true</enabled>
<name>ViewRoles</name>
</userPermissions>
<userPermissions>
<enabled>true</enabled>
<name>ViewSetup</name>
</userPermissions>
</PermissionSet>