Evidenziazione della sintassi delle differenze in Github Markdown


100

Sto scrivendo documenti che dovrebbero spiegare il codice in C # usando Markdown.

Uso il ```csharpper ottenere l'evidenziazione csharp.

A volte voglio evidenziare qualcosa di specifico nel codice usando grassetto o altro.

So di <pre>ecc ... ma mi toglie l'evidenziazione csharp.

Scenario migliore: un modo per evidenziare il codice nella ```csharpsezione.

La prossima cosa migliore - posso scrivere il codice come diff - usando + e - per evidenziare le cose, ma come faccio a dire a Github di evidenziare la sintassi diff con il colore di sfondo rosso e verde?

C'è un modo per utilizzare l'evidenziazione della sintassi sia diff che csharp?


4
Oh, come vorrei che stackoverflow aggiornasse il loro parsing Markdown per essere più simile a Githubs. Odio il loro terribile sistema di blocchi di codice. Avvolgere con `` è molto meglio, poiché non richiede modifiche "all'interno del testo stesso". (facendoli rientrare tutti con quattro spazi) Anche con la scorciatoia da tastiera Ctrl + K, è solo un cerotto sul cattivo design. </rant>
Venryx

Risposte:


184

Il markdown di Github supporta diff durante la formattazione del codice. Per esempio:

```diff
public class Hello1
{
   public static void Main()
   {
-      System.Console.WriteLine("Hello, World!");
+      System.Console.WriteLine("Rock all night long!");
   }
}
```

e dovrebbe darti l'aspetto diff che stai cercando , evidenziando in rosso ciò che è stato rimosso e in verde ciò che è stato aggiunto.


2
L'ho provato in questo senso. Spero che sia d'aiuto. gist.github.com/salmedina/…
Salvador Medina,

Wow! Colpa mia. Stavo cercando "l'evidenziazione della sintassi delle differenze nei blocchi di codice di stackoverflow" e sono stato portato qui. Sì! funziona su GitHub ed è per questo che speravo che funzionasse su StackOverflow. Purtroppo non funziona e sembra che non ci sia abbastanza interesse a farlo funzionare. meta.stackoverflow.com/questions/272207/…
Bruno Bronosky

34
Sai come ottenere la giusta evidenziazione della sintassi E l'evidenziazione delle differenze?
math2001

1
Al momento non sembra essere supportato. Ecco un cheatsheet di ciò che è supportato. github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code . Spero che questo ti aiuti.
Salvador Medina

1
Funziona per me su GitHub, BitBucket e persino sul mio IDE - VS Code. Grazie!
Liran H

15

La risposta di Salvador è corretta, tuttavia, ho scoperto che dovresti aggiungere l'intestazione del diff allo snippet di codice per evidenziarlo:

``` diff
diff --git a/filea.extension b/fileb.extension
index d28nd309d..b3nu834uj 111111
--- a/filea.extension
+++ b/fileb.extension
@@ -1,6 +1,6 @@
-oldLine
+newLine
```

Spero che aiuti!


Se qualcuno è alla ricerca solo per il formato git, senza i colori ... stackoverflow.com/a/4857407/3196753
tresf
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.