React-Native在vs code开发,提示 “types” 只能在ts中使用的解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React-Native在vs code开发,提示 “types” 只能在ts中使用的解决方案相关的知识,希望对你有一定的参考价值。

参考技术A 在用到带参数的指定类型的方法时,比如_onPressItem = (id: string) =>,VSCode会报错[js] 'types' can only be used in a .ts file。

这个问题其实归结于是VSCode使用Flow的bug,在VSCode的issue里,开发者建议我们使用一个叫 Flow Language Support 的插件,使用后发现并没有解决,还会报Flow版本不匹配的错误,遂放弃,继续寻找到一个新的插件 vscode-flow-ide ,但是安装完成后,发现错误还在。

在Stack Overflow和各种issue中寻找了很久,一般都是给两条路子:

最后尝试后,我是两条都用了,才解决,希望能帮到你们。

只分享最有用的!!!

如何像开发人员命令提示符一样配置 VS Code shell?

【中文标题】如何像开发人员命令提示符一样配置 VS Code shell?【英文标题】:How to configure the VS Code shell like the developer command prompt? 【发布时间】:2020-03-04 16:57:37 【问题描述】:

我正在尝试设置一个任务来在 Visual Studio Code 中编译我的 C++ 代码。我无法让它工作......但是当我打开开发人员命令提示符并将其粘贴时,它吐出的命令工作得很好。

我已设法将此问题缩小到未在 VS Code 使用的 shell 中设置的正确环境变量(如运行 echo %INCLUDE% 仅返回 %INCLUDE% 所证明的那样)。

现在我不完全知道开发人员命令提示符与 VS Code 使用的普通 Powershell 终端有何不同,所以我不知道如何配置它(除了运行 vcvarsall.bat),但即使我可以,每次我在 VS Code 中打开一个新终端时,环境变量都会再次重置。

本质上,我看到的这个问题的解决方案是:

    在每个构建任务之前运行vcvarsall.bat

    不幸的是,我不够熟悉,不知道如何使用tasks.json 配置文件连续执行多个命令。

    将 VS Code 使用的 shell 默认配置为类似于开发者命令提示符。

    不幸的是,我什至不知道从哪里开始。我可以轻松地将 shell 设置为 cmd 或 PowerShell,但不能设置为开发人员命令提示符,而且我也找不到配置其环境变量的位置,也不知道 vcvarsall.bat 的全部效果是什么,所以我知道哪个要设置的变量。

如果有更简单的方法来实现我所追求的目标,我会很高兴听到它。不管怎样,归根结底是我想知道如何配置 VS Code,以使我能够从 IDE 内部编译我的代码。

【问题讨论】:

【参考方案1】:

经过一番摸索,我找到了答案。我的设置(tasks.json)现在如下:

"command": "&",
"args": [
  "'D:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Auxiliary\\Build\\vcvars32.bat';",
  "cl.exe",
  "/Zi",
  "/EHsc",
  "/Fe:",
  "$fileDirname\\$fileBasenameNoExtension.exe",
  "$file"
]

使用&,您可以执行包含空格的路径。这导致我的vcvars32.bat(其他人的位置可能不同)设置正确的变量而无需手动输入它们。 ; 允许您在 PowerShell 中一个接一个地执行多个命令。

【讨论】:

【参考方案2】:

accepted answer 对我不起作用,但有助于找到可行的解决方案。

使用任务类型"process",然后将命令设置为由开发者命令提示符调用的批处理文件直接启动windows命令提示符(而不是通过powershell调用它)。

第一个参数是"&",这意味着编译器将在开发人员命令提示符上下文中被调用,而不是仅仅作为参数传递给批处理文件。

>
    "version": "2.0.0",
    "tasks": [
      
        "type": "process",
        "label": "cl.exe build active file",
        "command": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Auxiliary\\Build\\vcvars32.bat",
        "args": [
          "&"
          "cl.exe",
          "/Zi",
          "/EHsc",
          "/Fe:",
          "$fileDirname\\$fileBasenameNoExtension.exe",
          "$file"
        ],
        "problemMatcher": ["$msCompile"],
        "group": 
          "kind": "build",
          "isDefault": true
        
      
    ]
  

【讨论】:

以上是关于React-Native在vs code开发,提示 “types” 只能在ts中使用的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

VS Code的golang开发配置 之 代码提示

如何像开发人员命令提示符一样配置 VS Code shell?

VS Code 程序猿 必装的高效开发插件

VUE JS 的 VS Code Inlay 提示

如何在 VS Code 中搭建 Qt 开发环境

VS code 高效使用说明