codecamp

IntelliJ IDEA支持Flow静态类型检查器

Flow

提示:在开始之前,请确保您的计算机上有Node.js.

IntelliJ IDEA为Flow静态类型检查器提供基本支持,它为JavaScript提供类型注释。此支持涉及在所有操作系统上识别和语法突出显示Flow结构。

安装流程

Flow官方网站了解更多信息。

  • 打开内置的IntelliJ IDEA 终端(Alt+F12),然后在命令提示符下键入:
    • npm install --global flow-bin:在全局安装Flow。
    • npm install --save-dev flow-bin:将Flow安装为开发依赖项。

在IntelliJ IDEA中配置流程

要让IntelliJ IDEA识别Flow结构,提供正确的语法突出显示,正确报告错误并避免误报错误突出显示,将JavaScript语言级别更改为Flow,将.flowconfig配置文件添加到项目中,并在顶部提供一个“// @flow”注释来检查每个文件。

将语言级别更改为Flow

  1. 在“设置/首选项”对话框(Ctrl+Alt+S)中,单击“语言和框架”下的“JavaScript ”。在JavaScript的打开页面。
  2. 从JavaScript Language Version下拉列表中,选择:Flow。
  3. 在Flow包或可执行文件字段中,指定node_modules\flow-bin包的路径或Flow二进制可执行文件。要使用node_modules\.bin\flow,请确保将Node.js的路径添加到PATH环境变量中。
  4. 在Use Flow server for:区域中,通过选中或清除以下复选框指定编码帮助的基础:
    • 类型检查: 选中此复选框后,将根据从Flow服务器接收的数据提供语法和错误突出显示。清除该复选框后,只有基本的内部IntelliJ IDEA突出显示可用。
    • 导航,代码完成和类型提示: 选中此复选框时,引用解析和代码完成的建议列表包含从与Flow集成检索的建议和由IntelliJ IDEA计算的建议。清除该复选框后,仅通过IntelliJ IDEA计算来解析引用。 
    仅当指定了Flow可执行文件的路径时,复选框才可用。
  5. 保持选中“自动保存所有已修改文件”复选框以确保连续应用Flow,因为Flow仅在保存所有其他已修改文件后才检查当前文件。

在项目中生成.flowconfig配置文件

  • 打开嵌入式终端(通过:查看|工具窗口|终端,或Alt+F12)并在命令提示符下键入:flow init。

在文件中启用Flow

  • 在它的顶部添加“// @flow”注释:只需键入flow,按下Tab,IntelliJ IDEA将其扩展到“// @flow”中。
IntelliJ IDEA使用覆盖率查找未使用的代码
在IntelliJ IDEA中使用Grunt
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }