2013-08-14 7 views
14

Ho creato un file .tmLanuage per una lingua personalizzata in Sublime Text. Tutto funziona bene, tranne che non riesco a ottenere commenti automatici per funzionare. Non riesco a trovare nulla nei documenti di Testo sublime o su Google su come farlo, ma forse perché non sto usando le parole chiave giuste.Abilita il commento automatico in Sublime Text per una sintassi personalizzata

Lasciami spiegare cosa intendo. Diciamo che ho il seguente codice C:

int i = 1; 
i += 2; 

Se evidenzio questo Sublime Text e premere ctrl+/, vengono cambiate in

// int i = 1; 
// i += 2; 

Allo stesso modo, per il codice Python:

i = 1 
i += 2 

diventerebbe

# i = 1 
# i += 2 

Chiaramente Sublime Text deve conoscere la sintassi del linguaggio per scegliere il carattere di commento appropriato, motivo per cui presumo di dover aggiungere qualcosa al mio file .tmLanguage per farlo funzionare. Ho dato un'occhiata ai file C.tmLanguage e Python.tmLanguage forniti con Sublime Text, e niente mi è saltato addosso come codice che fa questo commento automatico.

Cosa devo aggiungere al mio file .tmLanguage per abilitare questa funzione all'interno di Testo sublime? Oppure, c'è qualche altro file che devo aggiungere/modificare per abilitare questa funzione?

risposta

15

Dai un'occhiata a "Commenti (C++). TmPreferences" e dovresti essere in grado di capire come modificarlo per la tua sintassi. .

  • Aggiungi il tuo sintassi "NomeAmbito" per l'ambito commenta
  • TM_COMMENT_START = linea
  • TM_COMMENT_START_2/TM_COMMENT_END_2 = Blocca i commenti

Commenti (C++) tmPreferences:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>name</key> 
    <string>Comments</string> 
    <key>scope</key> 
    <string>source.your_syntax</string> 
    <key>settings</key> 
    <dict> 
     <key>shellVariables</key> 
     <array> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_START</string> 
       <key>value</key> 
       <string>// </string> 
      </dict> 
      <dict> 
       <key>name</key> 
        <string>TM_COMMENT_START_2</string> 
       <key>value</key> 
       <string>/*</string> 
      </dict> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_END_2</string> 
       <key>value</key> 
       <string>*/</string> 
      </dict> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_DISABLE_INDENT_2</string> 
       <key>value</key> 
       <string>yes</string> 
      </dict> 
     </array> 
    </dict> 

+0

Grazie! Il mio problema era chiaramente che stavo cercando nel file sbagliato per degli esempi. – SethMMorton

+0

Grazie AGS per la modifica, suppongo che devi usare schede rigide per il codice xml. –