vscode visual studio instalar editorconfig code visual-studio logic project-template

instalar - Proyecto de Visual Studio/Lógica de parámetros de plantillas de elementos



editorconfig vscode (1)

Dado que solo he visto algunas publicaciones sobre el tema, pero no hay una explicación detallada de la lógica de los parámetros en las plantillas para Visual Studio, pensé que publicaría esto aquí.

Siguiendo el artículo de MSDN , puede agregar parámetros personalizados a su plantilla que pueden modificarse con un Wizard si desea modificarlos.

En cualquier archivo de la plantilla (que no sea el propio archivo de plantilla) puede agregar lógica según los parámetros. Solo hay tres palabras clave para usar con la lógica. $ if $ (% expresión%), $ else $ y $ endif $. Así que digamos que tengo lo siguiente en un archivo de plantilla:

public string foo( string a ) { return string.Format( @"foo( {0} );", a ); }

Y queremos agregar algo de lógica para saber si queremos o no comprobar si "a" es nulo o está vacío.

public string foo( string a ) { $if$ ( $shouldCheckForNullOrEmpty$ == true ) if ( !string.IsNullOrEmpty( a ) ) $endif$ return string.Format( @"foo( {0} );", a ); }

Por supuesto, es posible que desee agregar las llaves para la sentencia if, por lo que puede necesitar más de un bloque lógico.

Así que no está tan mal, pero hay algunos trucos para esto. El $ if $ comprueba la concordancia de cadena , es decir, siCheckForNullOrEmpty debe ser igual a "verdadero". También fue tentado a escribir $ if $ ($ shouldCheckForNullOrEmpty $ == "true"), pero eso no funcionará.

Las declaraciones individuales si con expresiones individuales son bastante simples, así que ahora para un ejemplo un poco más complejo:

public string foo( string a ) { $if$ ( $parameterCheckMode$ == ifNullOrEmpty ) if ( !string.IsNullOrEmpty( a ) ) $else$ $if$ ( $parameterCheckMode$ == throwIfNullOrEmpty ) if ( string.IsNullOrEmpty( a ) ) throw new ArgumentException(); $endif$ $endif$ return string.Format( @"foo( {0} );", a ); }

Como podrá ver, esta es una declaración de cambio para el modo de parámetro. Puede observar que no hay $ elseif $, por lo que debe ganar $ else $ $ si $, pero tendrá que agregar un $ endif extra al final.

Por último, todavía tengo que encontrar y o o símbolos para la lógica. Resolví esto simplemente usando la equivalencia lógica:

y -> $ if $ (expresión1) $ si $ (expresión2) $ endif $ endif $

o -> $ if $ (expresión1) instrucción $ else $ $ if $ declaración $ endif $ $ endif $

Esperemos que esto ayude a alguien.


Para la lógica ''y'' y ''o''
''y es:
&&
y ''o'' es:
||
así que una sentencia if con ''y'' en ella se vería así:

if ((a != null)&&(a !="")) { Console.Write(a); }

Y una declaración if con ''o'' en ella se vería así:

if ((b != null)||(b >= 5)) { Console.Write(b); }

Para la plantilla puede exportar un archivo * .cs como plantilla. Está bajo Proyecto> Exportar Plantilla ...

(Estaba usando VisualStudios 2017)

Espera que esto ayude.