8

利用可能なセレクター ( など) がないカスタム拡張機能 ( など) を使用し*.ltxて、ビルド システムでセレクターを定義するにはどうすればよいですか?*.cmaketext.tex.latexsource.c++

出来ますか?はいの場合 - どのように?

4

1 に答える 1

12

新しい構文定義 (つまり、新しい .tmLanguage ファイル) を定義すれば可能です。構文定義は、新しいカスタム ビルド システムで使用できる新しい「スコープ名」を宣言できます。

新しい構文定義ファイルは、ファイル拡張子で単純に一致させることができるため、実際にファイルの構文を定義/一致させる必要はありません...!

.tmLanguage ファイルの構文については、こちらをご覧ください。「scopeName」項目を使用すると、新しいスコープに名前を付けることができます (つまり、「text.tex.latex」など)。以下に例を示します。


新しいスコープを定義する新しい構文を作成しました-それは非常に簡単でした(Sublimeのほとんどのものと同様):

  • コマンド パレットで、[パッケージ コントロール: パッケージのインストール] を選択します。
  • パッケージのリストで、「PackageDev」を選択します
  • [ツール] > [パッケージ] > [パッケージ開発] > [新しい構文定義]を選択して、新しい構文定義を作成します。
  • 新しい構文定義は次のようになります。
{ "名前": "構文名",
  "scopeName": "source.syntax_name",
  "ファイルタイプ": [""]、
  "パターン": [
  ]、
  "uuid": "..."
}

... 「構文名」をわかりやすい名前に置き換え、「source.syntax_name」を新しいスコープ名に置き換え、「fileTypes」に入力して 1 つ以上のファイル拡張子を含めます。例えば:

"fileTypes": ["tex", "ltx"]

  • Packages/User の下に「.JSON-tmLanguage」拡張子を付けてファイルを保存します。
  • [ツール] > [ビルド システム] > [Json を tmLanguage に選択] を選択します。
  • [ツール] > [ビルド] を選択します

あなたは終わった!「fileTypes」で定義された拡張子のいずれかを持つ新しいファイルは、「scopeName」スコープをアクティブにします。

このスコープを新しいビルド システム ファイルで使用できるようになりました ( [ツール] > [ビルド システム] > [新しいビルド システム... ]) 。

乾杯!

于 2013-01-10T17:32:23.610 に答える