2016-11-23 5 views
0

Dans PyCharm, est-il possible de définir des règles personnalisées pour la mise en évidence de la syntaxe pour les fichiers, qui combinent la syntaxe de deux langages différents?PyCharm: surlignage pour type de fichier personnalisé

Un exemple un peu artificiel: le fichier suivant doit être traité en HTML, à l'exception du texte dans les balises de script, qui doivent être traitées comme du code Python. Les points bonus pour obtenir l'achèvement du code fonctionnent également. Notez que les fonctions d'extension "IntelliLang" ne correspondent pas, car dans le second bloc, les variables ne sont pas déclarées dans les blocs précédents.

+0

http://stackoverflow.com/questions/24840231/custom-syntax-highlighting-in-jetbrains-ides pourrait être utile – Bahrom

Répondre

0

J'ai trouvé un blog de jetbrains qui explique comment le faire, et il fonctionnera aussi dans d'autres langages et dans PyCharm (il est noté que cela fonctionne dans la plupart de leurs IDE). Ceci est un exemple d'avoir PHP à l'intérieur de javascript, mais devrait fonctionner pour vous aussi.

Syntax Highlighting - Cela a une brève explication de ce qu'il faut faire, et a également un lien qui va vers un tutoriel complet soufflé sur leur confluent: Full tutorial

Un petit snipet du tutoriel complet, que vous devrez créer une extension de fichier personnalisé pour qu'il lise à la fois/plusieurs langues dit:

Étape 2. nouveau type de fichier associé avec PHP (ou autre langue)

Nous devons associer le nouveau type de fichier (*. js.php) avec PHP (dans notre case) dans Paramètres | Types de fichier. Si vous ne souhaitez pas utiliser cette extension personnalisée , vous devez affecter le nom de fichier complet en tant que modèle, , ce qui n'est pas recommandé.

Veuillez noter que ce paramètre est de type IDE, donc cette association de type de fichier affectera tous les projets. Par conséquent, ayant une extension personnalisée est la meilleure façon de procéder avec elle.

+0

Impossible d'obtenir ce travail pour mon cas (Python intérieur HTML), mais bonne réponse et cela peut bien fonctionner pour des combinaisons linguistiques plus communes. – iljau