Come rendere VS Code per trattare altre estensioni di file come una determinata lingua?

O c’è un modo per cambiare la lingua del file corrente per usare la funzione di evidenziazione della syntax?

Ad esempio, * .jsx utilizza effettivamente JavaScript ma VS Code non lo riconosce.

In Visual Studio Code , puoi aggiungere associazioni di file persistenti per l’evidenziazione della lingua nel tuo file settings.json questo modo:

 // Place your settings in this file to overwrite the default settings { "some_setting": custom_value, ... "files.associations": { "*.thor": "ruby", "*.jsx": "javascript" } } 

È ansible aprire questo file tramite il menu: File > Preferenze > Impostazioni . ( Ctrl + o Cmd + , )

Questa 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 conosciute nella documentazione.

Tenere premuto Ctrl + Maiusc + P (o cmd su Mac), selezionare “Cambia modalità lingua” ed eccolo.

Ma non riesco ancora a trovare un modo per rendere i file riconosciuti con codice VS con estensione specifica come una certa lingua.

per esempio:

 // .vscode/settings.json in workspace { "files.associations": { "*Container.js": "javascriptreact", "**/components/*/*.js": "javascriptreact", "**/config/routes.js": "javascriptreact" } } 

Ho trovato la soluzione qui: https://code.visualstudio.com/docs/customization/colorszer

Vai a VS_CODE_FOLDER / resources / app / extensions / e lì update package.json

Questo, ad esempio, renderà i file che terminano in .variables e .overrides in trattamento come qualsiasi altro file LESS. In termini di colorazione del codice, in termini di (auto) formattazione. Definisci le impostazioni utente o le impostazioni del progetto a tuo piacimento.

(L’interfaccia semantica utilizza queste estensioni strane, nel caso ti stia chiedendo)

Seguendo i passaggi su https://code.visualstudio.com/docs/customization/colorszer#_common-questions ha funzionato bene per me:

Per estendere un colorante esistente, devi creare un semplice package.json in una nuova cartella sotto .vscode / extensions e fornire l’attributo extensionDependencies specificando la personalizzazione che desideri aggiungere. Nell’esempio seguente, un’estensione .mmd viene aggiunta al coloratore di 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 colorszzatore 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"] }] } } 

Il modo più semplice che ho trovato per un’associazione globale è semplicemente di ctrl + km (o ctrl + shift + p e digitare “change language mode”) con un file del tipo che stai associando aperto.

Nelle prime selezioni sarà “Configure File Association for ‘x'” (qualunque sia il tipo di file – vedi l’immagine allegata) Selezionando questo si rende permanente l’associazione del tipo di file

inserisci la descrizione dell'immagine qui

Questo potrebbe essere (probabilmente?) Cambiato rispetto alla domanda / risposta originale e non so quando) ma è più facile rispetto alle fasi di modifica manuale precedentemente fornite ed evita di dover mescolare con ID che potrebbero non essere ovvi.

Ciao 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 syntax PHP per i 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 piuttosto che 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 per l’estensione PHP, il mio supporto personalizzato per Drupal non si perde nel processo di aggiornamento.

Questo funziona per me.

inserisci la descrizione dell'immagine qui

 { "files.associations": {"*.bitesize": "yaml"} } 

“cmd-k m” è associato a “workbench.action.editor.changeLanguageMode” per impostazione predefinita, ma non ho trovato un modo per associare automaticamente l’estensione del file a una modalità lingua

STRUMENTI-> Opzioni-> Editor di testo-> Estensioni file. Da lì è ansible aggiungere un’estensione e selezionare l’estensione / lingua conosciuta che si desidera trattare come.