2013-08-14 6 views
14

私はSublime Textでカスタム言語用の.tmLanuageファイルを作成しました。私は仕事に自動コメントを付けることができないことを除いて、すべてうまくいっています。 Sublime TextのドキュメントやGoogleでこれを行う方法については何も見つからないようですが、これは適切なキーワードを使用していないためです。カスタム構文のためにSublime Textで自動コメントを有効にする

私は何を意味するか説明しましょう。のは、私は、次のCコードを持っているとしましょう:

int i = 1; 
i += 2; 

私は崇高なテキストでこれをハイライト表示し、ctrl+/を押すと、それはPythonのコードのために、

同様
// int i = 1; 
// i += 2; 

に変更されます:

i = 1 
i += 2 

# i = 1 
# i += 2 

明らかに崇高なテキストは、適切なコメント文字を選択するために言語構文について知っている必要があります。そのため、これを動作させるには何かを.tmLanguageファイルに追加する必要があると思います。私はSublime Textに付属のC.tmLanguageとPython.tmLanguageファイルを調べましたが、この自動コメントを行うコードとして私は何も飛びませんでした。

サブライムテキスト内でこの機能を有効にするには、.tmLanguageファイルに何を追加する必要がありますか?または、この機能を有効にするために追加/変更する必要があるファイルがありますか?

答えて

15

「コメント(C++).tmPreferences」を見て、構文の編集方法を理解できるはずです。

  • TM_COMMENT_START =行が
  • TM_COMMENT_START_2/TM_COMMENT_END_2 =ブロックコメント

コメント(C++)tmPreferencesコメントの範囲には、あなたの構文の "scopeName" を追加します。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>name</key> 
    <string>Comments</string> 
    <key>scope</key> 
    <string>source.your_syntax</string> 
    <key>settings</key> 
    <dict> 
     <key>shellVariables</key> 
     <array> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_START</string> 
       <key>value</key> 
       <string>// </string> 
      </dict> 
      <dict> 
       <key>name</key> 
        <string>TM_COMMENT_START_2</string> 
       <key>value</key> 
       <string>/*</string> 
      </dict> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_END_2</string> 
       <key>value</key> 
       <string>*/</string> 
      </dict> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_DISABLE_INDENT_2</string> 
       <key>value</key> 
       <string>yes</string> 
      </dict> 
     </array> 
    </dict> 

+0

ありがとう!私の問題は明らかに、私が間違ったファイルを例題で探していたことでした。 – SethMMorton

+0

AGSを編集していただきありがとうございます。私はxmlコードにハードタブを使用する必要があります。 –

関連する問題