IDEA代码规范插件(CheckStyle插件、alibaba插件)

2023-11-16

IDEA代码规范插件(CheckStyle插件、alibaba插件)

代码规范插件

CheckStyle插件

1、安装
打开idea的file→settings→plugins
再搜索框搜索CheckStyle-IDEA,点击install,下载完成之后点击Restart intellij IDEA重启idea
在idea界面最下方 找到checkstyle
2、使用可以直接使用原有的谷歌的配置或sun公司的配置(跳到第3步),也可以自己配置
2.1、自定义配置
这是我自己的配置(用xml文件写):

<?xml version="1.0"?>

<!DOCTYPE module SYSTEM "https://checkstyle.org/dtds/configuration_1_3.dtd" PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN">

<!--Checkstyle configuration that checks the Google coding conventions from Google Java Stylethat can be found at https://google.github.io/styleguide/javaguide.htmlCheckstyle is very configurable. Be sure to read the documentation athttp://checkstyle.org (or in your downloaded distribution).To completely disable a check, just comment it out or delete it from the file.To suppress certain violations please review suppression filters.Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov. -->

-<module name="Checker">

<property name="charset" value="UTF-8"/>

<property name="severity" value="warning"/>

<property name="fileExtensions" value="java, properties, xml"/>

<!-- Excludes all 'module-info.java' files -->


<!-- See https://checkstyle.org/config_filefilters.html -->



-<module name="BeforeExecutionExclusionFileFilter">

<property name="fileNamePattern" value="module\-info\.java$"/>

</module>

<!-- https://checkstyle.org/config_filters.html#SuppressionFilter -->



-<module name="SuppressionFilter">

<property name="file" value="${org.checkstyle.google.suppressionfilter.config}" default="checkstyle-suppressions.xml"/>

<property name="optional" value="true"/>

</module>

<!-- Checks for whitespace -->


<!-- See http://checkstyle.org/config_whitespace.html -->



-<module name="FileTabCharacter">

<property name="eachLine" value="true"/>

</module>


-<module name="LineLength">

<property name="fileExtensions" value="java"/>

<property name="max" value="120"/>

<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>

</module>


-<module name="TreeWalker">

<module name="OuterTypeFilename"/>


-<module name="IllegalTokenText">

<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>

<property name="format" value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>

<property name="message" value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>

</module>


-<module name="AvoidEscapedUnicodeCharacters">

<property name="allowEscapesForControlCharacters" value="true"/>

<property name="allowByTailComment" value="true"/>

<property name="allowNonPrintableEscapes" value="true"/>

</module>

<module name="OneTopLevelClass"/>


-<module name="NoLineWrap">

<property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT"/>

</module>


-<module name="EmptyBlock">

<property name="option" value="TEXT"/>

<property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>

</module>


-<module name="NeedBraces">

<property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_FOR, LITERAL_IF, LITERAL_WHILE"/>

</module>


-<module name="LeftCurly">

<property name="tokens" value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_CONSTANT_DEF, ENUM_DEF, INTERFACE_DEF, LAMBDA, LITERAL_CASE, LITERAL_CATCH, LITERAL_DEFAULT, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF, OBJBLOCK, STATIC_INIT"/>

</module>


-<module name="RightCurly">

<property name="id" value="RightCurlySame"/>

<property name="tokens" value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_DO"/>

</module>


-<module name="RightCurly">

<property name="id" value="RightCurlyAlone"/>

<property name="option" value="alone"/>

<property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, INSTANCE_INIT, ANNOTATION_DEF, ENUM_DEF"/>

</module>


-<module name="SuppressionXpathSingleFilter">

<!-- suppresion is required till https://github.com/checkstyle/checkstyle/issues/7541 -->


<property name="id" value="RightCurlyAlone"/>

<property name="query" value="//RCURLY[parent::SLIST[count(./*)=1] or preceding-sibling::*[last()][self::LCURLY]]"/>

</module>


-<module name="WhitespaceAfter">

<property name="tokens" value="COMMA, SEMI, TYPECAST, LITERAL_IF, LITERAL_ELSE, LITERAL_WHILE, LITERAL_DO, LITERAL_FOR, DO_WHILE"/>

</module>


-<module name="WhitespaceAround">

<property name="allowEmptyConstructors" value="true"/>

<property name="allowEmptyLambdas" value="true"/>

<property name="allowEmptyMethods" value="true"/>

<property name="allowEmptyTypes" value="true"/>

<property name="allowEmptyLoops" value="true"/>

<property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, DO_WHILE, EQUAL, GE, GT, LAMBDA, LAND, LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN, LITERAL_ASSERT, TYPE_EXTENSION_AND"/>

<message value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)" key="ws.notFollowed"/>

<message value="WhitespaceAround: ''{0}'' is not preceded with whitespace." key="ws.notPreceded"/>

</module>

<module name="OneStatementPerLine"/>

<module name="MultipleVariableDeclarations"/>

<module name="ArrayTypeStyle"/>

<module name="MissingSwitchDefault"/>

<module name="FallThrough"/>

<module name="UpperEll"/>

<module name="ModifierOrder"/>


-<module name="EmptyLineSeparator">

<property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF, STATIC_INIT, INSTANCE_INIT, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>

<property name="allowNoEmptyLineBetweenFields" value="true"/>

</module>


-<module name="SeparatorWrap">

<property name="id" value="SeparatorWrapDot"/>

<property name="tokens" value="DOT"/>

<property name="option" value="nl"/>

</module>


-<module name="SeparatorWrap">

<property name="id" value="SeparatorWrapComma"/>

<property name="tokens" value="COMMA"/>

<property name="option" value="EOL"/>

</module>


-<module name="SeparatorWrap">

<!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 -->


<property name="id" value="SeparatorWrapEllipsis"/>

<property name="tokens" value="ELLIPSIS"/>

<property name="option" value="EOL"/>

</module>


-<module name="SeparatorWrap">

<!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 -->


<property name="id" value="SeparatorWrapArrayDeclarator"/>

<property name="tokens" value="ARRAY_DECLARATOR"/>

<property name="option" value="EOL"/>

</module>


-<module name="SeparatorWrap">

<property name="id" value="SeparatorWrapMethodRef"/>

<property name="tokens" value="METHOD_REF"/>

<property name="option" value="nl"/>

</module>


-<module name="PackageName">

<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>

<message value="Package name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>


-<module name="TypeName">

<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF"/>

<message value="Type name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>


-<module name="MemberName">

<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>

<message value="Member name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>


-<module name="ParameterName">

<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>

<message value="Parameter name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>


-<module name="LambdaParameterName">

<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>

<message value="Lambda parameter name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>


-<module name="CatchParameterName">

<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>

<message value="Catch parameter name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>


-<module name="LocalVariableName">

<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>

<message value="Local variable name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>


-<module name="ClassTypeParameterName">

<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>

<message value="Class type name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>


-<module name="MethodTypeParameterName">

<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>

<message value="Method type name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>


-<module name="InterfaceTypeParameterName">

<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>

<message value="Interface type name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>

<module name="NoFinalizer"/>


-<module name="GenericWhitespace">

<message value="GenericWhitespace ''{0}'' is followed by whitespace." key="ws.followed"/>

<message value="GenericWhitespace ''{0}'' is preceded with whitespace." key="ws.preceded"/>

<message value="GenericWhitespace ''{0}'' should followed by whitespace." key="ws.illegalFollow"/>

<message value="GenericWhitespace ''{0}'' is not preceded with whitespace." key="ws.notPreceded"/>

</module>


-<module name="Indentation">

<property name="basicOffset" value="4"/>

<property name="braceAdjustment" value="0"/>

<property name="caseIndent" value="2"/>

<property name="throwsIndent" value="4"/>

<property name="lineWrappingIndentation" value="4"/>

<property name="arrayInitIndent" value="2"/>

</module>


-<module name="AbbreviationAsWordInName">

<property name="ignoreFinal" value="false"/>

<property name="allowedAbbreviationLength" value="3"/>

<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF, PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF"/>

</module>

<module name="OverloadMethodsDeclarationOrder"/>

<module name="VariableDeclarationUsageDistance"/>


-<module name="CustomImportOrder">

<property name="sortImportsInGroupAlphabetically" value="true"/>

<property name="separateLineBetweenGroups" value="true"/>

<property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE"/>

<property name="tokens" value="IMPORT, STATIC_IMPORT, PACKAGE_DEF"/>

</module>


-<module name="MethodParamPad">

<property name="tokens" value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF, SUPER_CTOR_CALL, ENUM_CONSTANT_DEF"/>

</module>


-<module name="NoWhitespaceBefore">

<property name="tokens" value="COMMA, SEMI, POST_INC, POST_DEC, DOT, LABELED_STAT, METHOD_REF"/>

<property name="allowLineBreaks" value="true"/>

</module>


-<module name="ParenPad">

<property name="tokens" value="ANNOTATION, ANNOTATION_FIELD_DEF, CTOR_CALL, CTOR_DEF, DOT, ENUM_CONSTANT_DEF, EXPR, LITERAL_CATCH, LITERAL_DO, LITERAL_FOR, LITERAL_IF, LITERAL_NEW, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_WHILE, METHOD_CALL, METHOD_DEF, QUESTION, RESOURCE_SPECIFICATION, SUPER_CTOR_CALL, LAMBDA"/>

</module>


-<module name="OperatorWrap">

<property name="option" value="NL"/>

<property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/>

</module>


-<module name="AnnotationLocation">

<property name="id" value="AnnotationLocationMostCases"/>

<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>

</module>


-<module name="AnnotationLocation">

<property name="id" value="AnnotationLocationVariables"/>

<property name="tokens" value="VARIABLE_DEF"/>

<property name="allowSamelineMultipleAnnotations" value="true"/>

</module>

<module name="NonEmptyAtclauseDescription"/>

<module name="InvalidJavadocPosition"/>

<module name="JavadocTagContinuationIndentation"/>


-<module name="SummaryJavadoc">

<property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>

</module>

<module name="JavadocParagraph"/>


-<module name="AtclauseOrder">

<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>

<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>

</module>


-<module name="JavadocMethod">

<property name="scope" value="public"/>

<property name="allowMissingParamTags" value="true"/>

<property name="allowMissingReturnTag" value="true"/>

<property name="allowedAnnotations" value="Override, Test"/>

<property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF"/>

</module>


-<module name="MissingJavadocMethod">

<property name="scope" value="public"/>

<property name="minLineCount" value="2"/>

<property name="allowedAnnotations" value="Override, Test"/>

<property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF"/>

</module>


-<module name="MethodName">

<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>

<message value="Method name ''{0}'' must match pattern ''{1}''." key="name.invalidPattern"/>

</module>


-<module name="SingleLineJavadoc">

<property name="ignoreInlineTags" value="false"/>

</module>


-<module name="EmptyCatchBlock">

<property name="exceptionVariableName" value="expected"/>

</module>


-<module name="CommentsIndentation">

<property name="tokens" value="SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN"/>

</module>

<!-- https://checkstyle.org/config_filters.html#SuppressionXpathFilter -->



-<module name="SuppressionXpathFilter">

<property name="file" value="${org.checkstyle.google.suppressionxpathfilter.config}" default="checkstyle-xpath-suppressions.xml"/>

<property name="optional" value="true"/>

</module>

</module>

</module>

2.2、打开idea的file→settings→Other Settings(或者Tools)→Checktyle
选择相对应的版本(我配置的要8.33版本以上),点击+号,输入名字(自定义),导入本地配置文件,一路next>apply>ok.

3、idea界面下方点击checktyle,如下图所示,Rules选择刚刚自定义的名字,红框从上到下分别是:检查当前文件、检查当前模块、检查当前项目
Checkstyle控制台

alibaba插件

1、安装
打开idea的file→settings→plugins
在搜索框搜索Alibaba Java Coding Guidelines ,点击install,下载完成之 后点击Restart intellij IDEA重启idea
2、使用
idea界面,点击Tools,可以切换中英文
鼠标右键点击所要检查的文件或者代码编写界面

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IDEA代码规范插件(CheckStyle插件、alibaba插件) 的相关文章

  • IDEA2021/2020 Run Dashboard的打开方法

    IDEA中微服务在service窗口以配置方式启动 网上千篇一律的在 workspace xml中配置Run Dashboard 但是只有在旧版本中才有这个节点的配置 但是新版的该怎么办呢 压根就没有这个节点 硬着头皮添加进去你会发现 问题
  • IDEA运行同一个程序打开多个Run运行控制台

    1 这里以版本是 2021 1 2 为例 2 运行当前程序时 点击右上角小三角 在显示的编辑配置处点击 3 进入配置界面 勾选允许多个实例 4 最后点击上图的 应用 或 确定 即可 5 测试 多次运行同一个程序显示的效果如下
  • IntelliJ IDEA插件搜索下载缓慢

    我用的版本是2019 2 1 搜索插件特别慢 有时候加载不出来 看到别人说是用 Setting Appearance Behavior Syetem Setting Updates 将Use secure connection 的勾选去掉
  • 【Java JDK的使用方法】

    Java JDK的使用方法 第一步 同时按住窗口键和R键 在弹出的运行框中输入cmd打开编译框 第二步 输入cd 空格 地址 可以查看桌面文本文档的属性 找到桌面地址 第三步 notepad 空格 文件名 java 新建java文件 第四步
  • Java开发利器Eclipse和IDEA

    一 文本编辑工具 1 1 EditPlus EditPlus是一款由韩国 Sangil Kim ES Computing 出品的小巧但是功能强大的可处理文本 HTML和程序语言的Windows编辑器 你甚至可以通过设置用户工具将其作为C J
  • IDEA(2023)修改默认缓存目录

    作者介绍 一个有梦想 有理想 有目标的 且渴望能够学有所成的追梦人 学习格言 不读书的人 思想就会停止 狄德罗 个人主页 进入博主主页 专栏系列 无 欢迎小伙伴们访问到博主的文章内容 在浏览阅读过程发现需要纠正的地方 烦请指出 愿能与诸君一
  • IDEA 断点调式按键/断点跳跃技巧

    一 调试按键的使用说明 对于我日常调试 Step Over Step Into使用最频繁 当然还有断点跳跃 1 Step Over 按照程序从上往下执行 遇到方法也点击这个 则跳过方法 方法其实直接执行完成 直接进入下一个语句 简单的方法或
  • idea 内存不足 low memory 彻底解决

    1 在IDE中 帮助 help gt 编辑自定义vm配置 idea64 exe vmoptions文件 修改 Xmx2048m Xms2048m 增加根据自己的系统内存 此时重启idea 仍然报内存不足 提示提高内存 通过idea log发
  • springboot性能优化

    SpringBoot性能调优有三种方案 SpringBoot 是一个快速开发框架 能够快速的整合第三方框架 简化XML配置 全部采用注解形式 内置Tomcat容器 帮助开发者能够实现快速开发 SpringBoot的Web组件 默认集成的是S
  • IDEA中的方法、数组和重载

    IDEA软件 常用快捷键 快捷键 功能 Ctrl Shift 选中代码注释 多行注释 再按取消注释 Ctrl Alt L 格式化代码 Alt Ins 自动生成代码 toString get set等方法 Alt Enter 导入包 自动修正
  • java:方法引用无效-IDEA 社区版 lombok插件报错解决

    IDEA 社区版 lombok插件报错 java 方法引用无效 报错信息1 java 方法引用无效 找不到符号 符号 方法 getId 位置 类 com xxx xxxx className 打开problem面板向上找你就会发现还有一个报
  • IntelliJ IDEA 如何创建一个包,并在包中创建一个Java程序

    1 选中scr右键后 将鼠标放到New上 点击Package 2 采用域名倒置的方式对包名进行命名 3 选中包后 鼠标右键选中New 点击Java Class 完成一个Java程序的创建
  • IDEA编译报错:java: 未报告的异常错误X; 必须对其进行捕获或声明以便抛出

    IDEA编译Flink源码时报错 java 未报告的异常错误X 必须对其进行捕获或声明以便抛出 原因是环境变量配置的是JDK8 Flink部分代码是基于JDK11编写的 将JDK升级为JDK11 重新编译即成功
  • Idea解决Java获取properties文件中值

    Idea Springboot项目解决java 获取properties文件中的值 详解 一 在使用分布式时 java 获取properties值 这里值得注意的时 Value这个注解默认可以获取到application propertie
  • IntelliJ IDEA中代码被覆盖了怎么恢复

    在你git pull 拉去代码的时候 在IntelliJ IDEA中一不小心将你本地代码给覆盖了 这个时候 你撤回是无效的时候 是不是有点小激动 还有点小慌 辛辛苦苦写的代码没啦 被覆盖了 不要慌 只要用的是IntelliJ IDEA这个工
  • Tomcat 服务器的使用(IDEA 2021.3)

    目录 1 Tomcat 下载和安装 2 IDEA 创建 JavaWeb 项目 3 IDEA 集成 Tomcat 并发布项目 服务器是计算机的一种 它比普通计算机运行更快 负载更高 价格更贵 服务器在网络中为其它客户机 如PC机 智能设备等
  • Mac版Intelli IDEA 2018.2.2永久破解(到2100年1月)——2018.09.04亲测

    感谢https blog csdn net HALEN001 article details 81137092 1 下载IntelliJ IDEA 2018 2 2版本和破解补丁JetbrainsCrack 3 1 release enc
  • 【全站首发】最详细的jetbrains space使用方法

    目录 一 注册一个Jetbrains账号 如果有可以跳过 二 创建或加入一个space团队 包含下载软件 三 Jetbrains Space软件配置 四 软件的使用 一 注册一个Jetbrains账号 如果有可以跳过 打开Jetbrains
  • 利用Java EE相关技术实现一个简单的Web聊天室系统

    利用Java EE相关技术实现一个简单的Web聊天室系统 1 编写一个登录页面 登录信息中有用户名和密码 分别用两个按钮来提交和重置登录信息 2 通过请求指派来处理用户提交的登录信息 如果用户名为本小组成员的名字且密码为对应的学号时 跳转到
  • intellij IDEA 工具产生的.iml文件的作用和意义

    idea 对module 配置信息之意 infomation of module 例子

随机推荐

  • vue常用知识总结

    vue常用知识总结 vue简介 vue 响应式原理 Object defineProperty vue 的作者 尤雨溪 java 出身 vue 是什么 以数据驱动视图的单页面 spa 渐进式 MVVM 框架 特性 数据双向绑定 模块化开发
  • Embarcadero Dev-C++第一次使用注意事项

    Embarcadero Dev C 第一次使用注意事项 Embarcadero Dev C 简介 2000年左右 Bloodshed software开发了Dev C 提供轻量 免费 开源的C C IDE Dev C 是最适合初学C 语言的
  • 基于stm32单片机自动灭火火灾报警装置Proteus仿真

    资料编号 102 下面是相关功能视频演示 102 基于stm32单片机自动灭火火灾报警装置Proteus仿真 仿真 源码 全套资料 功能介绍 火焰传感器的原理 是通过感知外部特殊波段光照强度的突变来判断是否出现火灾 该仿真采用ADC采集光照
  • Maven 知识点总结

    文章目录 Maven 1 Maven 坐标 2 Maven 仓库 3 Maven 依赖 依赖配置 依赖范围 依赖调解原则 排除依赖 4 Maven 生命周期 5 Maven 聚合与继承 Maven Maven是一个项目管理工具 它包含了项目
  • c# MACD 算法实现

    此算法在自己WP7应用中 用到 同花顺 算法 DIFF EMA CLOSE SHORT EMA CLOSE LONG DEA EMA DIFF M MACD 2 DIFF DEA Zero 0 关键点是第一天的数据 如果是区间的数据 区间第
  • Bootstrap弹出模态框

    弹出模态框 Modal 使用Bootstrap的JavaScript模态框插件可以为您的网站添加醒目的提示和交互 用于通知用户 访客交互 消息警示或自定义的内容交互 如考试问答场景 译者注 运行原理 在开始使用Bootstrap模态框组件前
  • CMDB功能分析与实现方案

    CMDB功能分析与实现方案 CMDB系统的主要功能 1 用户管理 记录测试 开发 运维人员的用户表 2 业务线管理 记录业务的详情 3 项目管理 指定此项目属于那一条业务线 4 应用管理 指定此应用的开发人员 5 主机管理 记录主机管理员
  • 软件项目管理和实施方案

    一 实施周期 自合同签订或约定之日起xxx个日历日内完成项目需求调研 软件开发及调试工作 实现系统上线运行 并完成项目验收 二 项目进度 一 项目计划 根据本公司对项目建设工期的整体计划 本公司将整个系统的建设工作按照计划进行详细分工 把任
  • PCL-OpenCV冲突的解决方案

    测试LIO SAM 编译期报错 error field param k has incomplete type flann SearchParams 查了github 把 usr include pcl 1 7 pcl kdtree kdt
  • Dialog的弹出位置控制

    Dialog一般出现都是屏幕中心 但有的时候我们希望它能在屏幕左侧 或者右侧亦或者是屏幕顶部 这时候我们就需要用的Dialog getWindow getAttributes 方法啦 dialog new Dialog getActivit
  • Qwt使用总结,初步整理

    最近研究了一些Qwt 至此总结Qwt的认识以便以后的备忘 从什么方面开始说起呢 从这个类是什么 可以用来做什么 关于Qwt的简介就不说了 主要说说其中用到的几个类吧 QwtPlot 是一个2D画图控件 Widget 继承于QFram和Qwt
  • Mybatis Plus 3.1.0枚举类处理器重写TypeHandler

    我的环境 Springboot 2 13 Mybatis Plus 3 1 Oracle 11g 驱动版本oracle6 1 我尝试用 Mybatis Plus 3 1 以上版本 如 3 2 3 3 时 oracle6 驱动无法适配 2 枚
  • JAVA线程的中断

    每个线程都有一个boolean类型的标志来表明线程是否发生了中断 并且包含了中断相关的函数 interrupt 用于设置线程的中断状态为true isInterrupted 用于返回线程的中断状态 interrupted 方法用于清除中断状
  • cast函数_QT槽函数获取信号发送对象

    Qt 在槽函数中获取信号发送对象 Qt中提供了一个函数 qobject cast QObject object 可以通过这个函数判断信号发出对象 Qt 帮助文档的解释 Returns the given object cast to typ
  • 通讯录(C语言)

    结合指针 结构体 枚举 实现增删改查 test c 用于测试主函数 contact h 用于函数的声明 contact c 用于函数的实现 test c 主要思路 用do while 实现基本分支结构 并用枚举类型 规定出选择以增加代码可读
  • yarn创建vue项目报错解决

    1 使用yarn create vue创建项目时报如下错误 2 原因是由于安装包目录和bin目录不在统一磁盘下 查看方法 查看bin目录 yarn global bin 查看安装包目录 yarn global dir 3 解决 1 将yar
  • 代码审计工具之Fortify安装以及初步使用

    目录 1 Fortify Fortify工具介绍 1 Fortify Fortify工具介绍 Fortify SCA 是一个静态的 白盒的软件源代码安全测试工具 它通过内置的五大主要分析引擎 数据流 语义 结构 控制流 配置流等对应用软件的
  • 【Transformer】9、CrossFormer:A versatile vision transformer based on cross-scale attention

    文章目录 一 背景 二 动机 三 方法 3 1 Cross scale Embedding Layer CEL 3 2 Cross former Block 3 2 1 Long Short Distance Attention LSDA
  • 解决RuntimeError: CUDA unknown error - this may be due to an incorrectly set up environment

    RuntimeError CUDA unknown error this may be due to an incorrectly set up environment e g changing env variable CUDA VISI
  • IDEA代码规范插件(CheckStyle插件、alibaba插件)

    IDEA代码规范插件 CheckStyle插件 alibaba插件 代码规范插件 CheckStyle插件 alibaba插件 代码规范插件 CheckStyle插件 1 安装 打开idea的file settings plugins 再搜