あなただけ.log
前にテキストを取得し、ビューでそれを置き換えるためにプラグインを作成することができます。
import re
import sublime
import sublime_plugin
class PostSnippetLogCommand(sublime_plugin.TextCommand):
def run(self, edit):
view = self.view
for sel in view.sel():
pos = sel.b
text_before = view.substr(sublime.Region(view.line(pos).a, pos))
# match the text before in reversed order
m = re.match(r"gol\.(\S*)", text_before[::-1])
if not m:
continue
# retrieve the text before .log and reestablish the correct order
text_content = m.group(1)[::-1]
# create the replacements text and region
replace_text = "console.log({});".format(text_content)
replace_reg = sublime.Region(pos - len(m.group(0)), pos)
# replace the text
view.replace(edit, replace_reg, replace_text)
その後それはjavascriptのドキュメント内.log
が付いている場合は、コマンドを起動するために、このキーバインドを追加します。
{
"keys": ["tab"],
"command": "post_snippet_log",
"context":
[
{ "key": "selector", "operand": "source.js" },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "\\.log$" },
],
},