.ejsファイルにhtml構文を持たせたいのですが、常にプレーンテキストとしてファイルを開きます。
崇高に「現在の拡張子ですべて開く...」を選択してから、構文を選択できます。
左下隅の構文を変更できることがわかります
特定の構文で特定のタイプのファイルをどのように開きますか?
あなたの言語が本当に単なるHTMLである場合、これを処理するための簡単なパッケージをセットアップできます。
langugage-ejs
というパッケージを作成し、grammars/ejs.cson
に、関心のあるパターンを持つHTMLを含めることができます。
'fileTypes': [
'ejs'
]
'name': 'Embedded JavaScript'
'patterns': [
{
'include': 'source.html'
}
]
'scopeName': 'source.ejs'
language-ipynb は確かにJSONを拡張することでこれを行います。
ただし、実際には、HTMLの上にテンプレートタグがあり、エディターに認識させる必要があります。私が見つけることができる最良の例は erb(Embedded Ruby templates) です。HTMLをソースとしますが、このスニペットに示すように他のタグも追加します。
...
'patterns': [
{
'begin': '<%+#'
'captures':
'0':
'name': 'punctuation.definition.comment.erb'
'end': '%>'
'name': 'comment.block.erb'
}
{
'begin': '<%+(?!>)[-=]?'
'captures':
'0':
'name': 'punctuation.section.embedded.Ruby'
'end': '-?%>'
'name': 'source.Ruby.Rails.embedded.html'
'patterns': [
{
'captures':
'1':
'name': 'punctuation.definition.comment.Ruby'
'match': '(#).*?(?=-?%>)'
'name': 'comment.line.number-sign.Ruby'
}
{
'include': 'source.Ruby.Rails'
}
]
}
{
'include': 'text.html.basic'
}
]
...
これは Atom core になり、そのファイルタイプパッケージはもう必要ありません。
私が働いている場所では、特定の種類のPHPファイルに.phlを使用しています。 Atomについてこれを伝えるには、config.cson
を次のように編集します。
core:
customFileTypes:
"text.html.php": [
"phl"
]
themes: [
// snip
このファイルは~/.atom/config.cson
で見つけることができます。または[設定]ウィンドウから[構成フォルダーを開く]ボタンをクリックします。
この機能の GitHubの問題 で人々が犯した多くのエラーから明らかなように、間違いを犯すのは簡単です。
個々のファイルには、グラマーセレクターを使用できます。 Ctrl+Shift+L そのファイルで使用している言語を設定します。自動検出と同じではありませんが、デフォルトを設定したくないファイルを使用している場合に役立ちます。
編集:この答えを書いて以来、この機能はAtom coreに追加されました。 詳細については、この回答 。
( https://atom.io/packages/file-types )
タイトルの質問に正確に応えます。既存の言語の新しいファイル拡張子を定義するには、config.cson
ファイル。
このために新しいパッケージがリリースされているようです。 https://atom.io/packages/language-ejs 。
たとえば、すべての.jsx
ファイルをjavascript構文で開く場合は、これをconfig.cson
に追加する必要があります
"*":
core:
customFileTypes:
"source.js": [
"jsx"
]
これにより、すべての.jsxファイルがjs構文で開くようにマップされます。
Dave Andersenが埋もれたコメントで言及しているように、追加のパッケージなしでこれを行うことが可能であり、文書化されています here 。