Atom で新しく作成されたファイルは常に「プレーン テキスト」です。これを変更して、新しいファイルが自動的に別の言語、たとえば「シェル スクリプト (Bash)」になるようにするにはどうすればよいですか? プレーン テキスト ファイルでは自動インデントが機能しないため、これを行いたいと考えています。
5 に答える
この問題もありましたが、これを行うdefault-languageというプラグインがあります。
atom で default-language を検索し、その設定をインストールして開きます。Atom のデフォルトにする言語の名前を入力します。たとえば、シェル スクリプト (疑わしい場合は、言語選択メニューからコピー) を [デフォルトの言語] フィールドに入力します。次に拡張子のないスクリプト (またはシバン) を開くと、デフォルトで設定した言語になります。
ファイルにマッピングを作成する必要がありconfig.cson
ます。
"*":
core:
customFileTypes:
"source.shell": [
"sh"
"shell"
]
.sh および .shell ファイルをシェル スクリプト構文にマッピングします。
まず、CTRL+SHIFT+L があなたの味方です。残念ながら、恒久的な解決策ではありませんが、知っておくと便利です。
もちろん、より恒久的な解決策を希望します。Atom の API の変更により、他のいくつかの回答は廃止されました。以下は、より最新のバージョンです。インスピレーションは最初にこのディスカッションから得られましたが、ここでの他の回答も同じ概念に従っているようです。
これを init.coffee ファイル ( File -> Open Your Init Script
)に配置します。
extname = require("path").extname
fileTypes =
".wxs": "text.xml"
".wxi": "text.xml"
".wixobj": "text.xml"
nullGrammar = atom.grammars.selectGrammar("text.plain.null-grammar")
atom.workspace.observeTextEditors (editor) ->
grammar = atom.grammars.selectGrammar(fileTypes[extname(editor.getPath())])
editor.setGrammar grammar if editor.getGrammar() is nullGrammar and grammar isnt nullGrammar
基本的に、ファイル タイプの配列と、それらを関連付ける文法 (AKA 構文の強調表示) を定義します。各エディターを見つけて、選択された文法が既にあるかどうかを調べます。そうでない場合は、見つけたらそれを与えようとします。
これに関して私が抱えていた 1 つの問題は、構文の強調表示が機能するのは、Atom を既に起動してからファイルを開いた場合に限られることです。Atom が起動するファイルを開くと (たとえば、お気に入りの OS のアイコンをダブルクリックすると)、ファイルを再度開くまで、そのファイルの構文が強調表示されません。
このコードを見てください: (その後、'text.html.basic' を必要な構文に変更できます)
editor = atom.workspace.getActiveTextEditor()
cursor = editor.getLastCursor()
valueAtCursor = atom.config.get(cursor.getScopeDescriptor(), 'my-package.my-setting')
valueForLanguage = atom.config.get(editor.getRootScopeDescriptor('text.html.basic'), 'my-package.my-setting')
参照については、スコープ記述子 @ https://atom.io/docs/latest/advanced/scopes-and-scope-descriptorsを参照してください。