【问题标题】:Snippets: Detect if a snippet prefix is used in a string or regular javascript片段:检测片段前缀是否用于字符串或常规 javascript
【发布时间】:2018-06-25 11:57:27
【问题描述】:

我想构建一个工具来帮助我在项目中更快地完成工作。为此,我想使用 sn-p 功能。 是否可以知道是否在字符串引号或常规 javascript 代码中使用了 sn-p 前缀,例如:

'prefix + tab' (with quotes) -> outputs one thing
 prefix + tab  (no quotes)   -> outputs different thing.

这样:

'bgc + tab'   -> 'background-color: $1'
 prefix + tab ->  backgroundColor: $1

我希望我的问题有意义:D

【问题讨论】:

    标签: javascript visual-studio-code code-snippets jss


    【解决方案1】:

    您需要在字符串中启用建议。将此添加到您的 settings.json

    "editor.quickSuggestions": {
        "other": true,
        "comments": false,
        "strings": true
      },
    

    然后定义你的sn-p:

    "Background Color": {
            "prefix": "bgc",
            "body": [
                "background-color: $1"
            ],
            "description": "Background Color"
        },
    

    您可以通过选择 User Snippets 在 File > Preferences(macOS 上的 Code > Preferences) 下创建您的 sn-p,然后选择语言 (JavaScript)。

    【讨论】:

    • 事情是在大多数情况下是这样的 const Body = styled.div' bgc -> background-color: $1 '; const styles = { bgc -> backgroundColor: $1 } 有意义吗?
    • 所以一个是样式化的组件字符串表示法(react),另一个是常规的对象表示法样式。
    • 我猜你想要一个前缀来注入不同的 sn-p,具体取决于它当前所在的上下文(引用字符串的输入/输出)。上述解决方案有效,但仅适用于 'bgc' 前缀。您应该在打开报价之前输入bgc,sn-p 将注入它。
    • 没错!当我想在一个引号中为我写出多个这些时,就会出现问题。可能比我最初预期的要复杂一些
    • @Darko 更新了答案。这有帮助吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多