2010-07-09 6 views
38

Ich finde, dass ich eine Tonne jQuery in diesen Tagen mache, also begann ich, einige der allgemeinen Dinge, die ich mache, in Schnipsel zu abstrahieren. Ich freue mich darauf, diese mit der Community zu teilen, aber ich stoße gerade auf ein Problem.

Die Literale in Schnipsel werden durch Hinzufügen von Dollarzeichen ($) um den Namen des zu begrenzenden Literals definiert, in dem der Wert angegeben wird, den Sie bereitstellen möchten. Dies ist schwierig, da jQuery die Dollarzeichen-Notation verwendet, um viele seiner Funktionen zu nutzen.

Was ist die Escape-Sequenz für Snippets, damit ich das Dollarzeichen verwenden kann und meine Snippets noch funktionieren?

+0

Mehr von einer Randnotiz, aber vergessen Sie nicht, Sie können 'jQuery' anstelle von' $ ' –

Antwort

79

Um eine wörtliche $ versuchen es verdoppelt zu haben: $$

+1

Es funktioniert nicht für mich in C#. –

+0

@JosephMorgan Es funktionierte für mich in C# (VS2015 als Referenz). –

+0

Bei dieser Methode wird der Cursor immer noch auf diese Position springen, wenn die Registerkarte verwendet wird. Mit dieser [Antwort] (http://stackoverflow.com/a/43427442/1909798) konnte ich richtig entkommen. – robsonrosa

6

Obwohl die jQuery Antwort gültig ist, es ist ein schöner Syntax, um die $ Notation zu verwenden.

Ich habe eine Antwort gefunden: Das $ -Zeichen zu einem Literal mit einem Standardwert von $ machen.

<Literal Editable="true"> 

<ID>dollar</ID> <ToolTip>replace the dollar sign character</ToolTip> <Default>$</Default> <Function> </Function> </Literal> 
+1

Ich fand, dass dies in C# für die Verwendung des "$" für einen Formattable-Zeichenfolge-Typ funktioniert. –

+0

Ich war mir nicht sicher, ob das Hinzufügen eines Beispiels ein Kommentar oder eine Antwort war, also habe ich es wegen der Länge unten hinzugefügt. Es basiert auf dieser Antwort. –

15

Für ein Codeelement ist ein Attribut "Delimiter" definiert. Dies ist standardmäßig $, aber Sie können es auf ein anderes Zeichen wie ~ oder so einstellen.

...

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

    }); 
})(jQuery);]]></Code> 
</Snippet> 

...

1

ich dies für eine formatierbare Zeichenfolge in C# verwendet. Früher habe ich über das Beispiel von cory-fowler wörtlich:

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

Nutzungs (Zeilenumbrüche werden aus Gründen der Klarheit hinzugefügt Stapel   Überlauf, nicht im Original.):

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

Danke, cory-Jäger !

14

Dies ist der richtige Weg: \\$.

VSC mit der \\ interpretiert, dass es ein Charakter mehr und kein comidin ist.

+5

Diese Antwort sollte die angenommene sein Antwort – robsonrosa

+1

Funktioniert nicht in VS2017 C# – SvdSinner

+0

VSC = Visa Studio-Code –