Com um plug-in personalizado
EDIT: a generalisation of the following plugin has been published at https://packagecontrol.io/packages/ProjectCompletions
Se você colocar este plug-in na sua pasta Usuário com o nome ProjectCompletions.py
import sublime_plugin
class ProjectCompletions(sublime_plugin.EventListener):
def on_query_completions(self, view, prefix, locations):
return view.window().project_data().get("completions")
Você pode injetar conclusões usando uma entrada "completions"
em seu arquivo de projeto:
{
"folders": ...
"completions":[
["I", "I am a ${1:snippet} baby!"]
]
}
O formato das conclusões é [trigger, snippet]
. Abordagens mais elaboradas são possíveis para que o escopo também seja levado em conta.
Demaneiraindireta,usandoo plug-in do ProjectSpecific
Com isso instalado, você pode usar a chave settings
do seu arquivo de projeto para instalar comandos adicionais.
Em seguida, para ativar um snippet, você pode adicionar isso ao seu projeto:
{
"folders": ...
"settings": {
"project-specific": {
"sublime-commands": [
{"caption": "My Snippet",
"command": "insert_snippet",
"args": {"contents": "I am a ${1:snippet} baby!"} }
]
}
...
}
}
e você encontrará o comando "Meu trecho" na paleta de comando apenas no projeto atual.
Você também pode vincular chaves de uma maneira específica do projeto. Vinculando-os ao comando insert_snippet
, você pode obter um efeito semelhante sem precisar passar pela paleta.
Com isso instalado, você pode usar a chave settings
do seu arquivo de projeto para instalar comandos adicionais.
Em seguida, para ativar um snippet, você pode adicionar isso ao seu projeto:
{
"folders": ...
"settings": {
"project-specific": {
"sublime-commands": [
{"caption": "My Snippet",
"command": "insert_snippet",
"args": {"contents": "I am a ${1:snippet} baby!"} }
]
}
...
}
}
e você encontrará o comando "Meu trecho" na paleta de comando apenas no projeto atual.
Você também pode vincular chaves de uma maneira específica do projeto. Vinculando-os ao comando insert_snippet
, você pode obter um efeito semelhante sem precisar passar pela paleta.