【问题标题】:vscode - load snippets based on react vs react nativevscode - 基于 react 和 react native 加载代码片段
【发布时间】:2019-07-30 15:42:39
【问题描述】:

是否有任何方法可以根据我是否正在开发来加载单独的 sn-ps 集,例如, react 项目与 react 原生项目?

基本上,当我点击我的键绑定(ctrl+shift+b)时,它应该填写我的Button sn-p,每个人都不同:

反应:"<button className=''>$1</button>",

反应原生:"<Button title='$1' onPress={()=>{}}/>",

现在我有一个愚蠢的解决方法,我将 .jsx 用于 web 组件,将 .js 用于 react-native 组件,然后相应地为每种语言模式配置我的 sn-ps,但我更喜欢使用 @987654327 @ 对彼此而言。

【问题讨论】:

    标签: reactjs react-native visual-studio-code code-snippets


    【解决方案1】:

    这个解释涉及所有文件类型/sn-ps,例子是 添加reactsn-ps。

    在VSCode中,sn-ps是根据文件关联加载的。您可以在底部栏查看当前文件关联。

    JavaScript React 文件示例:

    现在您需要将 sn-p 配置为所需的文件类型,为此您需要在 settings.json 中添加 files.associations 属性。

    文件 -> 首选项 -> 设置 -> 打开设置 (JSON)

      "files.associations": {
        "*.react.js": "javascriptreact",
        "*.stories.js": "javascriptreact",
        "*.action.js": "javascriptreact",
        "*.reducer.js": "javascriptreact",
        "*.styles.js": "javascriptreact",
        "*.jsx": "javascriptreact",
        "*.js": "javascript"
      }
    

    从此时起,像MyComponent.react.js 这样的文件名将与javascriptreact 类型相关联。

    剩下的就是将你的 sn-ps 添加到 javascriptreact 类型:

    查看 -> 命令面板 -> 首选项:配置用户代码段

    并选择一个文件类型(如果存在,如javascriptreact.json 或创建一个新文件类型,如javascriptreactnative)。

    所选类型中的所有 sn-ps 将关联并自动建议。

    例如,javascriptreact.json 中的下一个 sn-p 将仅在上面配置的 React 文件中起作用:

      "React Fragment": {
        "prefix": "<>",
        "body": [
          "<>",
          "$1",
          "</>"
        ],
        "description": "Insert React Fragment"
      }
    

    综上所述,需要将.jsx分机分开来识别reactreact-native,例如:*.native.jsx

    【讨论】:

    • 好的,感谢丹尼斯的彻底回答!因此,如果我理解这一点,没有办法让 sn-ps 在具有完全相同名称(MyComponent.jsx)的文件中根据它是反应还是反应本机项目而表现不同?只能通过以不同方式命名我的反应文件和我的反应本机文件来实现(通过文件扩展名或某种文件尾)?
    • 是的,就像 *.native.jsx 用于 react-native 文件一样,使用这样的扩展名来了解文件的内容是一个很好的做法。
    • 非常感谢您的宝贵时间!从您的文件关联示例中学到了很多:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 2021-02-14
    • 2019-06-16
    • 1970-01-01
    • 2017-12-06
    • 2022-06-29
    • 2021-12-22
    相关资源
    最近更新 更多