I really like the clever feature of refactor where you can specify:
quote: $GeneratedPropertyName$ Property name generated during Encapsulate Field
$generatedPropertyName$ Same as $GeneratedPropertyName$ but with lower-case first letter
But, why can you not do the exact same thing with snippets? You were sharp enough to see that users often (typically) use a convention like "m_deviceName" for a property named "DeviceName" for refactoring, but why not in the original declaration using a snippet?
If I specify $PropName$ and $propName$, I get two different entries for the snippet dialog's snippet argument entry dialog. Why not recognize the first char being the same as the first char in the other definition and only provide one entry for naming them?
That's a really useful feature. . Is a little consistency possible here? After all, NO_ONE would name two different attributes the same changing only the first letter. I'd like to see it myself!
Also, is there a way to set the order of arguments? Sometimes arguments are defaulted. Or at least sort $selected$ or undefaulted arguments first...?
Can you post an example to explain what you are trying to do here? I assume you are trying to use VA Snippets to generate a block of code, perhaps variables and matching functions all in one go?
As for why VA Snippets don't already do this, partly this is an idea that has never occurred to me, and I tend to make quite a lot of use of VA Snippets. It is an interesting idea, I just want to try and understand a bit more fully what you are thinking of doing here.