Risposte:
In Visual Studio Code , puoi aggiungere associazioni di file persistenti per l'evidenziazione della lingua al tuo settings.json
file in questo modo:
// Place your settings in this file to overwrite the default settings
{
"some_setting": custom_value,
...
"files.associations": {
"*.thor": "ruby",
"*.jsx": "javascript",
"Jenkinsfile*": "groovy"
}
}
Puoi usare Ctrl+ Shift+ pe quindi digitare settings JSON
. Scegli Preferenze: Apri Impostazioni (JSON) per aprire il tuo settings.json
.
La Files: Associations
funzionalità è stata introdotta per la prima volta in Visual Studio Code versione 1.0 (marzo 2016). Controllare i modelli di caratteri jolly disponibili nelle note di rilascio e le stringhe di lingua note nella documentazione.
.editorconfig
file vicino o di allineare le configurazioni tra VSCode e .editorconfig
, quest'ultima avrà la precedenza
${projectdir}/.vscode/settings.json
file specifico del progetto .
Tieni premuto Ctrl + Maiusc + P (o cmd su Mac), seleziona "Cambia modalità lingua" e il gioco è fatto.
Ma non riesco ancora a trovare un modo per far riconoscere i file VS Code con estensione specifica in una certa lingua.
Change Language Mode
; Alt+K, M
Cmd+K, M
per Mac.
Il modo più semplice che ho trovato per un'associazione globale è semplicemente ctrl + km (o ctrl + shift + p e digitare "cambia modalità lingua") con un file del tipo che stai associando aperto.
Nelle prime selezioni sarà "Configura associazione file per 'x'" (qualunque sia il tipo di file - vedi immagine allegata) La selezione in questo modo rende permanente l'associazione del tipo di file
Questo potrebbe essere cambiato (probabilmente lo ha fatto) rispetto alla domanda originale e alla risposta accettata (e non so quando sia cambiata) ma è molto più semplice dei passaggi di modifica manuale nelle risposte accettate e in alcune delle altre, ed evita totalmente di avere confondere con gli ID che potrebbero non essere ovvi.
settings.json
file non era chiaro quale fosse l'ID estensione, ma questo metodo lo ha ordinato!
per esempio:
// .vscode/settings.json in workspace
{
"files.associations": {
"*Container.js": "javascriptreact",
"**/components/*/*.js": "javascriptreact",
"**/config/routes.js": "javascriptreact"
}
}
"**/layouts/**/*.html": "erb"
- vale la pena notare che il menu a discesa "modalità lingua" VSCode mostra il nome effettivo dell'evidenziatore della sintassi tra parentesi, ad esempioRuby ERB (erb)
Questo, ad esempio, farà sì che i file finiscano .variables
e .overrides
vengano trattati come qualsiasi altro file MENO. In termini di colorazione del codice, in termini di formattazione (automatica). Definisci le impostazioni dell'utente o del progetto, come preferisci.
(L'interfaccia utente semantica usa queste strane estensioni, nel caso ti chiedessi)
Ho trovato la soluzione qui: https://code.visualstudio.com/docs/customization/colorizer
Vai a VS_CODE_FOLDER/resources/app/extensions/
e lì aggiornapackage.json
Seguire i passaggi su https://code.visualstudio.com/docs/customization/colorizer#_common-questions ha funzionato bene per me:
Per estendere un colorizer esistente, creare un semplice package.json in una nuova cartella in .vscode / extensions e fornire l'attributo extensionDependencies specificando la personalizzazione a cui si desidera aggiungere. Nell'esempio seguente, un'estensione .mmd viene aggiunta al colorizer markdown. Si noti che non solo il nome extensionDependency deve corrispondere alla personalizzazione, ma anche l'id della lingua deve corrispondere all'ID della lingua del colorizer che si sta estendendo.
{
"name": "MyMarkdown",
"version": "0.0.1",
"engines": {
"vscode": "0.10.x"
},
"publisher": "none",
"extensionDependencies": [
"markdown"
],
"contributes": {
"languages": [{
"id": "markdown",
"aliases": ["mmd"],
"extensions": [".mmd"]
}]
}
}
Ho seguito un approccio diverso per risolvere praticamente lo stesso problema, nel mio caso, ho creato una nuova estensione che aggiunge il supporto per l'evidenziazione della sintassi PHP per file specifici di Drupal (come .module e .inc): https: // github. com / mastazi / VS-code-drupal
Come puoi vedere nel codice, ho creato una nuova estensione anziché modificare l'estensione PHP esistente. Ovviamente dichiaro una dipendenza dall'estensione PHP nell'estensione Drupal.
Il vantaggio di farlo in questo modo è che se c'è un aggiornamento sull'estensione PHP, il mio supporto personalizzato per Drupal non si perde nel processo di aggiornamento.