Les fichiers nouvellement créés dans Atom sont toujours "Texte brut". Comment puis-je changer cela pour que les nouveaux fichiers soient automatiquement dans une autre langue, par exemple "Shell Script (Bash)"? Je veux le faire car l'indentation automatique ne fonctionne pas avec les fichiers texte brut.Définir la langue par défaut pour les nouveaux fichiers
Répondre
Également ce problème, il y a un plugin appelé default-language qui va le faire pour vous.
Recherche atome pour la langue par défaut, installez et ouvrez ses paramètres. Tapez le nom de la langue que vous voulez par défaut Atom, par exemple. Shell Script (en cas de doute, copiez dans le menu de sélection de la langue) dans le champ Langue par défaut. La prochaine fois que vous ouvrirez un script sans extension (ou shebang), il sera défini par défaut sur la langue que vous avez définie.
Le code suivant, ajouté à votre init.coffee
, fera ce que vous vous demandez:
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'))
choses à noter:
- Le fichier est
init.coffee
où vous pouvez personnaliser Atom sans avoir à écrire un package - La méthode
observeTextEditors
définit un rappel qui est appelé à chaque créationTextEditor
pour les éditeurs actuellement ouverts et futurs - Le code ci-dessus:
- Vérifie la grammaire que l'éditeur a été créé avec
- Si et seulement si elle est la valeur par défaut (« null ») la grammaire, il définit la grammaire de l'éditeur à la grammaire Shell
Jetez un oeil à ce morceau de code: (vous pouvez pouvez changer « text.html.basic » à la syntaxe selon vous avez besoin)
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')
Pour référence s'il vous plaît voir: Descripteurs Scope @https://atom.io/docs/latest/advanced/scopes-and-scope-descriptors
Tout d'abord, CTRL + MAJ + L est votre ami. Ce n'est malheureusement pas une solution permanente, mais agréable à connaître.
Bien sûr, nous préférerions une solution plus permanente. Quelques autres réponses sont maintenant obsolètes en raison des changements d'API dans Atom. Voici une version plus à jour. Inspiration est venu initialement de this discussion, mais les autres réponses semblent suivre le même concept.
place dans votre fichier 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
Fondamentalement, vous définissez ont un éventail de types de fichiers, et les grammaires (Alias de mise en évidence de la syntaxe) que vous souhaitez les associer. Trouvez chaque éditeur, découvrez s'il a déjà une grammaire sélectionnée, et si ce n'est pas le cas, essayez de lui en donner une si nous en trouvons une.
Le seul problème que j'ai eu avec cela est que la coloration syntaxique ne fonctionne que si vous ouvrez les fichiers après vous avez déjà lancé Atom; Si vous ouvrez un fichier qui entraîne le lancement d'Atom (disons en double-cliquant sur son icône dans votre système d'exploitation préféré), la mise en évidence de la syntaxe n'aura pas lieu pour ce fichier tant que vous ne l'aurez pas rouvert.
Vous devez créer un mappage dans votre fichier config.cson
.
"*":
core:
customFileTypes:
"source.shell": [
"sh"
"shell"
]
Pour mapper les fichiers .sh et .shell à la syntaxe du script shell.
- 1. Google Translate définir la langue par défaut
- 2. Comment définir la langue par défaut pour l'application Android?
- 3. Langue par défaut pour .htaccess
- 4. Brindille: Définir la langue de traduction par défaut
- 5. Comment définir la langue par défaut dans WebOs
- 6. Définir la langue par défaut Environnement dans Emacs
- 7. comment définir la langue par défaut dans prestashop en français
- 8. comment définir la langue par défaut au navigateur pour toutes les URL ouvertes?
- 9. Django: langue par défaut i18n
- 10. Sitecore langue par défaut lors de la création de nouveaux éléments
- 11. langue par défaut dans Prestashop
- 12. django-transmeta langue par défaut
- 13. Comment définir un autre gravatar par défaut pour les nouveaux utilisateurs? ce code ne fonctionne pas
- 14. SQL Azure Langue par défaut
- 15. Réglage de la langue par défaut
- 16. Définir la sonnerie par défaut pour contacter
- 17. Définir la valeur par défaut pour JLabel
- 18. Définir la valeur par défaut pour ComboBox
- 19. android: la langue par défaut est
- 20. RecognizerIntent modifier la langue par défaut
- 21. Ignorer la langue/les paramètres régionaux par défaut des utilisateurs et en définir un?
- 22. RewriteRule pour htaccess cacher la langue par défaut
- 23. Rails 3 définir les actions par défaut pour la réponse
- 24. Comment définir la police par défaut pour les widgets Tk
- 25. ActiveRecord: pour définir les valeurs par défaut via la table
- 26. Changer la langue par défaut pour Oracle express
- 27. Définition de la langue par défaut dans EPiServer?
- 28. comment définir la langue
- 29. Définir un fichier .properties par défaut en fonction de la langue
- 30. Répertoire Montitor pour les nouveaux fichiers
Ceci provoque une erreur 'TypeError: Impossible d'appeler la méthode 'getScore' de undefined', voir: http://pastebin.com/yzN2hPUu – shrx
@shrx Intéressant, je l'ai eu avec d'autres itérations du code. Ce pourrait être un problème de synchronisation où les grammaires ne sont pas encore chargées. Je vais devoir revoir cela plus tard. – Lee
des nouvelles à ce sujet? – shrx