vscode visual temas tag studio para color code close autocompletar visual-studio code-snippets

visual studio - visual - Escapar el caracter $ en fragmentos



visual studio code wrap tag (5)

Aunque la respuesta jQuery es válida, es una sintaxis más agradable usar la notación $.

Encontré una respuesta: hacer que el carácter $ sea literal con un valor predeterminado de $.

<Literal Editable="true"> <ID>dollar</ID> <ToolTip>replace the dollar sign character</ToolTip> <Default>$</Default> <Function> </Function> </Literal>

Me encuentro haciendo un montón de jQuery en estos días, así que comencé a abstraer algunas de las cosas comunes que hago en fragmentos. Espero compartirlos con la comunidad, pero me estoy encontrando con un problema en este momento.

Los literales en fragmentos se definen agregando signos de dólar ($) alrededor del nombre del literal para delimitar dónde irá el valor que desea proporcionar. Esto es difícil porque jQuery usa la notación del signo de dólar para usar gran parte de su funcionalidad.

¿Cuál es la secuencia de escape para los fragmentos, por lo que puedo usar el signo de dólar y hacer que mis fragmentos sigan funcionando?


Esta es la forma correcta: //$ .

VSC con el // interpreta que es un personaje más y no un comidin.


Hay un atributo "Delimitador" definido para un elemento de Código. Esto está predeterminado en $, pero puede establecerlo en un carácter diferente, como ~ o menos.

...

<Snippet> <Code Language="JavaScript" Delimiter="~"><![CDATA[(function ($) { $(document).ready(function () { }); })(jQuery);]]></Code> </Snippet>

...


Lo usé para una cadena formateable en C #. Utilicé el ejemplo anterior de textualmente:

<Literal Editable="true"> <ID>dollar</ID> <ToolTip>Replace the dollar sign character</ToolTip> <Default>$</Default> <Function></Function> </Literal>

Uso (se añaden saltos de línea para mayor claridad en Desbordamiento de pila, no en el original.) :

string errMessage = $dollar$"Error occurred in {MethodBase.GetCurrentMethod().Module}, in procedure {MethodBase.GetCurrentMethod().Name}: {ex.Message}".ToString();

Gracias, cory-Fowler!


Para tener un $ literal intenta duplicarlo: $$