Atom中新创建的文件始终为“纯文本”。我怎样才能改变这个,以便新的文件将自动以另一种语言,例如“Shell Script(Bash)”?我想这样做,因为自动缩进不适用于纯文本文件。设置新文件的默认语言
4
A
回答
5
也有这个问题,有一个名为default-language的插件会为你做这个。
搜索atom默认语言,安装并打开其设置。输入您希望Atom默认使用的语言的名称,例如Shell脚本(如果有疑问,请从语言选择菜单复制)在默认语言字段中。下次打开没有扩展名(或shebang)的脚本时,它将默认使用您设置的语言。
5
下面的代码,添加到您的init.coffee
,会做什么你问:
atom.workspace.observeTextEditors (editor) ->
original = editor.getGrammar()
if original? and original is atom.grammars.grammarForScopeName('text.plain.null-grammar')
editor.setGrammar(atom.grammars.grammarForScopeName('source.shell'))
注意事项:
- 的
init.coffee
文件是可以自定义的Atom,而不必编写程序包 observeTextEditors
方法设置回调,该回调在为当前打开和将来的编辑创建时调用- 上面的代码:
- 检查该编辑用
- 如果创建且仅当它是默认的(“零”)语法,它集编辑器的语法壳牌语法文法
1
看一看这段代码:(您可以就可以改变“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
1
首先,CTRL + SHIFT + L是你的朋友。不幸的是,这不是一个永久的解决方案,但很高兴知道。
当然,我们更喜欢更持久的解决方案。由于Atom中的API更改,其他一些答案现在已经过时。以下是更新的版本。灵感最初来自this discussion,但这里的其他答案似乎也遵循相同的概念。
将此放在您的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语法高亮)。找到每个编辑器,找出它是否已经有选定的语法,如果没有,尝试给它一个,如果我们找到一个。
我遇到过的一个问题是,语法突出显示只适用于在已经启动Atom后打开文件后;如果你打开一个导致Atom启动的文件(比如说双击它最喜欢的操作系统中的图标),那么在你重新打开它之前,语法高亮将不会用于该文件。
0
您需要在config.cson
文件中创建一个映射。
"*":
core:
customFileTypes:
"source.shell": [
"sh"
"shell"
]
用于将.sh和.shell文件映射到shell脚本语法。
相关问题
- 1. ajaxplorer设置默认语言
- 2. 设置默认语言
- 3. android:默认语言设置为亚洲
- 4. Tornado本地化,设置默认语言
- 5. 嫩枝:设置默认翻译语言
- 6. 为joomla设置Falang默认语言
- 7. 设置默认语言环境
- 8. 在EPiServer中设置默认语言?
- 9. 谷歌翻译设置默认语言
- 10. 使用Google DRIVE API设置Google文档的默认语言
- 11. 帐户套件:设置iOS应用程序的默认语言
- 12. 如何设置HtmlEditorExtender(AJAX控件工具包)的默认语言?
- 13. Postgresql全文搜索捷克语言(无默认语言配置)
- 14. 覆盖默认语言MVC4 RESX文件
- 15. Cakephp多语言设置没有默认国际化设置
- 16. 如何将英语设置为iOS应用的默认语言?
- 17. 获取BlackBerry设备的默认语言
- 18. Android和Accont套件:设置默认语言
- 19. Django默认语言
- 20. 默认语言笨
- 21. Trac默认语言
- 22. 如何将默认语言设置为阿拉伯语ios swift?
- 23. Prestashop中的默认语言
- 24. Android:strings.xml的默认语言
- 25. R的默认语言
- 26. .htaccess的默认语言
- 27. Qt的设置默认的语言环境和打印longDayName
- 28. Android:默认语言环境语言“hd”
- 29. Sitecore语言嵌入和默认语言
- 30. 如何将LLDB的默认语言设置为Swift?
这导致错误'TypeError:无法调用未定义的方法'getScore',请参阅:http://pastebin.com/yzN2hPUu – shrx
@shrx有趣的是,我通过代码的其他迭代得到了这一点。这可能是语法尚未加载的时间问题。我稍后必须再看一遍。 – Lee
关于此的任何消息? – shrx