gpt4 book ai didi

python - 自定义 'console.log' 插件 Sublime Text 3

转载 作者:太空宇宙 更新时间:2023-11-04 00:30:34 24 4
gpt4 key购买 nike

我做了很多 JavaScript 项目,但我错过了 PHPStorm 的一个很棒的功能。现在我不太了解Python。所以希望你能帮助我。

这就是我想要的:

'test'.log => console.log('test');
test.log => console.log(test);

所以使用单个 tabtrigger .log

我想检索 .log 之前的任何内容。然后我会改造它。我该怎么做?

最佳答案

您可以创建一个插件来检索 .log 之前的文本并在 View 中替换它:

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 为前缀,则添加此键绑定(bind)以触发命令。

{
"keys": ["tab"],
"command": "post_snippet_log",
"context":
[
{ "key": "selector", "operand": "source.js" },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "\\.log$" },
],
},

关于python - 自定义 'console.log' 插件 Sublime Text 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45983477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com