Jetbrains系列开发工具日常配置与使用

2023-10-27

IntelliJ IDEA

IDEA的确是Java开发利器,之前一直用Eclipse,后来实习单位都用IDEA,就慢慢转了,开始还不习惯,后来就不禁被其华丽的界面和完备的功能所折服,不过使用什么IDE见仁见智,工具终究是手段,目的是高质量的代码。
下面简单总结平时使用IDEA的一些配置和使用技巧,可辅助我们日常开发中更加得心应手。

各种常用配置

  • 优化启动速度
    启动速度太慢,平时使用经常卡顿。 idea本身也是Java开发的,所以可以像Java调优一样配置相关参数;另外自动保存等功能可以去掉,改为定时保存。
    我这里将Xmx调到2G,关闭自动保存,使用起来流畅了不少。
    具体设置参见:http://blog.csdn.net/u013068377/article/details/54316965
  • 将配置文件等移动到D盘
    更改安装目录D:\Profession_Files\IntelliJ IDEA 2016.3.3\bin目录下的idea.properties文件:去掉前面几项配置的注释,并更改宏定义,这里我将默认在Users/zhang/.IDEA/config和system的两项配置移动到idea的安装目录,如注释中所指,${idea.home.path}即为Idea的安装目录,这样重装系统不至于丢失配置。
# Use ${idea.home.path} macro to specify location relative to IDE installation home.
# Use ${xxx} where xxx is any Java property (including defined in previous lines of this file) to refer to its value.
# Note for Windows users: please make sure you're using forward slashes (e.g. c:/idea/system).
#--------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE config folder. Make sure you're using forward slashes.
#--------------------------------------------------------------
idea.config.path=${idea.home.path}/config
#--------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE system folder. Make sure you're using forward slashes.
#--------------------------------------------------------------
idea.system.path=${idea.home.path}/system
#--------------------------------------------------------------
# Uncomment this option if you want to customize path to user installed plugins folder. Make sure you're using forward slashes.
#--------------------------------------------------------------
idea.plugins.path=${idea.config.path}/plugins
#--------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE logs folder. Make sure you're using forward slashes.
#--------------------------------------------------------------
idea.log.path=${idea.system.path}/log
  • 更改主题
    安装的idea只有一种darcula主题可用,喜欢monokai的参考以下链接可以增加一个类似Sublime Monokai的主题
    https://darekkay.com/2014/11/23/monokai-theme-intellij/

  • 有时类没有显示其方法和成员变量
    点击Project窗口右上角小齿轮,勾上show members即可!

  • 配置Junit单元测试
    安装Junitjunit generator V2插件,在plugin中安装即可,没什么好说的;接下来修改配置路径,在settings中配置Output Path为:${SOURCEPATH}/../test/${PACKAGE}/${FILENAME}

  • 若是默认配置,生成的测试类代码默认在src目录下,总是报错找不到org.junit.Test,后来发现生成的类必须放在test目录下,并将该目录Mark as Test Sources Root,这样可以正确导入Junit包。

  • 平时写一些简单的测试方法直接在类中新建即可,测试方法加上@Test注解,另外注意测试方法必须使用 public void 修饰,而且不能带有任何参数,待测试的类也必须是public的。

  • 平时使用一直导是直接导入idea自带的JUnit库,写完@Test注解会自动提示导入,但偶尔没有该提示,怎么配置都不行,最后Invalidate Caches/Restart后重新启动解决问题。

  • 安装jclasslib插件
    可以查看字节码,不用再用javap指令编译,比较方便。idea安装后在View菜单下的Show ByteCode with jclasslib。

  • settings-Editor-File Encodings里面将编码全部设置为utf-8,防止因为编码原因导致编译失败或各种问题。

  • 使用阿里代码插件
    阿里无疑是Java界的大佬,继前段时间发布Java开发规约,最近又开源了Java开发规范的插件,可以从下列链接下载,https://github.com/alibaba/p3c/tree/master/idea-plugin
    github里也提到了中文乱码问题的解决,对于习惯于英文界面的用户,在打开idea安装目录bin目录下修改文件(32位系统修改idea.exe.vmoptions,64位系统修改idea64.exe.vmoptions),增加如下即可:
    -Duser.language=en

  • 配置Tomcat运行web项目
    虽然目前大多都是SpringBoot或基于maven自动配置,但还是有些老项目或者demo案例需要手动配置一下,通过这个过程也能更好了解相关知识。具体配置:
    http://www.cnblogs.com/shindo/p/7272646.html

  • 标志修改的文件带星号标志
    Settings–>Editor–>Editor Tabs:Mark modified tabs with asterisk

  • 自动保存
    这个看自己机器的性能了,如果不好还是把自动保存关了吧,在Setings–>Appearance & Behavior–>System Settings设置。

  • 默认Project Structure设置
    从其他地方pull过来的工程,打开时默认的Project Structure是不对的,里面sdk是1.9,language level是3,显然有问题,忘记更改的话就编译不过。在File-->Other Settings下面有个default project structure,在这里设置默认配置,和default setting一个道理,是适用于所有工程的。

常见问题

  • 无法加载主类错误
    平时练习时习惯于在一个工程下建立多个module,然后module下边再建立package。但是有些module的程序编译运行时报无法加载类错误,到out目录下发现没有这个module的目录,说明根本就没有自动生成相应的class文件,自然加载不到。
    默认class文件都是在工程的out目录下,查看Project Structure发现module的out目录配置也都是继承的工程的,这里改成自定义的out就可以正常编译运行了。其实默认继承工程的配置就可以了,我这里失效的原因应该是后来将module重命名了,导致无法找到相应的输出目录。
    注:这个方式不是万能的,后来在其他电脑上又手贱改Module名字了,这次不管怎么配置报错:Can not load main class,最终将Module删掉重建解决问题,看来养成一个好的命名习惯才是关键,不要没事改来改去,浪费时间。

这里写图片描述
工程编译结果输出目录配置

这里写图片描述
模块编译结果输出目录配置

  • 有时某些工程打不开,打开只有缩略图
    症状是虽然可以看到窗口的缩略图,但是无法正常进入工程窗口。解决办法是进入到工程的.idea目录下,将workspace.xml文件删除,再重新打开即可。
  • 有时新打开的代码没有设置工程信息,java中的关键字不识别,也没法运行main方法
    点击IDEA窗口右上角Project Structure,将相应的目录Mark as Sources/Resources等,这时IDEA可以正确识别。
  • Cannot start compilation: the output path is not specified for module “xxx”. Specify the output path in Configure Project.
    需要设置output路径:Project Structure --> Project Settings --> Project,设置Project compiler output即可。
    ###常用快捷键
    之前习惯了Eclipse中的快捷键,在settings-keymap中选择Eclipse,不过IDEA也有自己独有的快捷键,所以这里的快捷键其实是Eclipse和IDEA二者的组合。
    注意使用过程中快捷键与有可能与其他软件冲突,比如格式化快捷键与网易云音乐冲突了,改掉一个就是。
快捷键 功能
psvm 即public static void main(String[] args)
sout 即System.out.println()
fori 即以i作变量的for循环,连续调用会自动更改循环变量
iter 快速生成foreach类型的循环
Ctrl+Shift+T 在工程中查找类
Ctrl+O 查看类的成员
Alt+Insert 快速编写constructor/setter/getter/toString/hashCode/equals等
实际应用中这些样板代码实在没必要自己敲,另外键入set/get也可弹出setter/getter
Alt+Enter 导入需要的包
Ctrl+Alt+L 格式化代码
类上右键Diagram,即可显示类的继承关系图,还能以弹出框的形式查看
Ctrl+T 查看子类或接口实现
光标放在某个类上,点击菜单栏Navigate-Type Hierarchy,可以在右边栏查看类的完整继承与被继承情况,这种方式得到的信息比较全面
在方法前面输入/** 然后回车,自动生成javadoc注释

有时要比较两个文件的异同,以前都是用beyond compare,不是很方便,其实idea也可以的,直接在文件右键-compare with editor就可以与正在编辑的窗口比较,compare with还可以与随意选择文件,非常方便。

PyCharm

Python开发利器(已经深陷Jetbrains系列无法自拔了)

常见问题

  • 新版pycharm中plot的图不清楚
    新安装的版本新增了(科学模式)Scientific mode,plot出来的图清晰度大打折扣,还是原来的图更舒服。在普通的项目里如果不需要使用到Scientific mode,可以选择关闭它。
    Settings > Tools > Python Scientific > Show plots in tool window 关闭。
  • pip方式安装的包pycharm不识别
    国内用conda方式安装包总是被墙,只能使用pip方式,但是经常pip安装成功的包在pycharm中不识别!!
    需要手动添加一下,位置Settings>Project Interperter>Show all,然后在路径里面加上pip安装的存放路径即可(e.g.D:\Anaconda2\Lib\site-packages)。
    如下图所示:
    在这里插入图片描述

参考资料
http://blog.lanyus.com/archives/174.html
https://www.aliyun.com/jiaocheng/433145.html

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

Jetbrains系列开发工具日常配置与使用 的相关文章

  • HL7基础知识

    HL7消息由事件触发 每个事件对应一个消息 消息由段组成 段由字段组成 字段由组件组成 组件由子组件组成 有些字段是可以重复的 例如病人的地址 号码都是可以重复的字段 字段分割符 组件分隔符 子组件分隔符 用来连接重复的组件 一个HL7消息
  • 漏洞“Apache Zookeeper 授权问题漏洞(CVE-2019-0201)”详情

    扫描漏洞详情如下 目录 1 漏洞详情 漏洞名称 Apache Zookeeper 授权问题漏洞 CVE 2019 0201 发现日期 2019 05 23 CVSS评分 5 9 漏洞描述 Apache Zookeeper是美国阿帕奇 Apa
  • 华为OD机试 - TLV解码(Java)

    题目描述 TLV编码是按 Tag Length Value 格式进行编码的 一段码流中的信元用Tag标识 Tag在码流中唯一不重复 Length表示信元Value的长度 Value表示信元的值 码流以某信元的Tag开头 Tag固定占一个字节
  • 二、RabbitMQ常用交换器

    RabbitMQ常用交换器 direct 直接交换器 主要方式 队列与交换器通过路由绑定 队列和交换器单个绑定 队列和交换器的多重绑定 绑定多个路由 队列绑定到交换器上时 是允许绑定多个路由键的 也就是多重绑定 一个连接多个信道 指通过Ru
  • 斐波那契序列与黄金分割比

    Fibonacci Sequence 0 1 1 2 3 5 8 13 21 34 55 fib 0 1 1 2 3 5 8 13 21 34 55 斐波那契递推公式 Python打印斐波那契递增序列 方法一 模拟 n int input
  • qt发布后 mysql数据库_QT连接MySql数据库,以及配置git上传到github

    前言 最近想把自己写的一个C 项目结合所学的Qt mysql结合起来进行完善 前期的一些准备工作记录如下 如有侵权 请联系删除 QT下载链接 我的下载版本为5 9 MySql下载链接 我的下载版本为5 7 MySql的安装配置 1 解压 这
  • ElasticSearch操作命令大全

    创建索引和映射 1 手动创建索引 curl XPUT localhost 9200 new index 2 获取映射 curl localhost 9200 get together mapping group pretty 定义新映射 c
  • 机器学习——线性回归与决策树实验(附效果以及完整代码)(数据集、测试集开源)

    机器学习实验 实验名称 实验一 线性回归与决策树 一 实验目的 1 掌握线性回归算法和决策树算法 ID3 的原理 2 学会线性回归算法和决策树算法 ID3 的实现和使用方法 二 实验内容 本次实验为第一次实验 要求完成本次实验所有内容 具体
  • 接口文档参考示例

    接口文档参考示例 用户登录 POST api login 接口说明 登录成功后 会生成或更新用户令牌 token 使用帮助 测试数据库中预设了四个可供使用的账号 如下表所示 Untitled 请求参数 Untitled 响应信息 登录成功
  • 湖南株洲三维扫描检测CNC机加工零件截面检测弧度测量-CASAIM中科广电

    自工业时代开始以来 机械加工及零部件产业已经涵盖了各大电器零部件 汽车零部件 建筑机械零部件 航空航天零部件 海洋工程零部件等领域 涉及多种机械机床及工具仪器的制造 零件在加工过程中 受制于加工工艺等各方面的因素 难免会产生加工误差 会直接
  • Ubuntu系统中使用VSCode(Visual Studio Code)

    一 软件下载安装 去官网下载文件 https code visualstudio com docs dv linux64 也可以用ubuntu自带的软件商店下载 本帖就采用这种方法 案例采用ubuntu16 04 操作如下图 首先单击APP
  • maven 项目 junit步骤。

    pom xml添加对应的jar包
  • 自动化测试的转行

    什么是自动化测 做测试好几年了 真正学习和实践自动化测试一年 自我感觉这一个年中收获许多 一直想动笔写一篇文章分享自动化测试实践中的一些经验 终于决定花点时间来做这件事儿 首先理清自动化测试的概念 广义上来讲 自动化包括一切通过工具 程序
  • CSS——层级

    层级问题 选中的盒子显示的效果并不完整 右边的边框并没有显示红色 原因是其右边的盒子压了它的边框
  • Flink CDC 详述实时数据湖

    在构建实时数仓的过程中 如何快速 正确的同步业务数据是最先面临的问题 本文主要讨论一下如何使用实时处理引擎Flink和数据湖Apache Iceberg两种技术 来解决业务数据实时入湖相关的问题 01 Flink CDC介绍 CDC全称是C
  • Mac 开发 Tang Nano FPGA 指南(使用终端和使用 VS Code 和插件,适用所有 Gowin FPGA)

    最近收到了一个 Tang nano 9K FPGA开发板 就想借此机会研究一下 官方文档里介绍如果想使用高云的 FPGA 就需要使用 GOWIN IDE 但是需要申请 license 提交一堆资料 我是别人送的就不太方便让别人弄 加上 ID
  • 一,凸包---3,极边

    极边就是组成凸包的边的集合 时间复杂度是o n3 比判断极点快 时间复杂度O n4 快 为什么呢 试想 不论极边也好 极点也好 判断的依据是三角形的方向 无论是海伦公式 还是向量叉乘 极边是需要三个点组成一个三角形 是一个三重循环 即可用t
  • 六.安装harbor

    1 下载 harbor offline installer v1 9 3 链接 https pan baidu com s 1dTCy2KPqRhYKxTyE7vlrPg 提取码 6666 需要安装docker compose 2 修改配置

随机推荐

  • Java基础之异常

    文章目录 前言 一 初识异常 二 异常的体系结构 三 异常的分类 四 异常的处理 1 throw 异常抛出 2 throws 异常声明 3 try catch 捕获处理 4 finally 5 try catch finally与retur
  • Hugo themes Doit 合并 tags , categories 为检索页

    Hugo themes Doit 合并 tags categories 为检索页 原文 总觉得 tags categories 等页面可以合并成为一页 这样检索起来更方便一些 成果 https www ftls xyz retrieval
  • 编译程序和解释程序有什么区别?

    1 编译程序和解释程序的区别 编译型是使用编译器编译后生成计算机硬件可直接执行的指令 解释型是在运行时才由解释器逐语句去执行 编译型代表 C C C Java 解释型代表 html javascript 区别有很多 说说常见的几个 编译型语
  • MATLAB bp神经网络预测代码

    清除变量 清楚变量 claer clc 导入数据 变量个数较少可以自己输入变量 变量数目较大时建议采用读取Excel并保存成 mat的方法来导入数据 读取 m数据 以data mat为例 load data mat load data1 m
  • React路由

    安装 npm i react router dom S 导入 import BrowserRouter as Router Route Link from react router dom HashRouter与BrowserRouter
  • iOS基础教程-SQLite数据库操作(二简单实例学生信息增删改查数据库操作)

    学生名单管理界面实现数据库的增删改操作 关于UI部分 我们使用storyboard简单完成 在上一篇文章中有详细的描述iOS基础教程 SQLite数据库操作 一 StoryBoard操作 SQLite操作前准备工作 本篇结束以后 就可以完成
  • webpack设置分包

    Webpack中设置分包 code splitting 是一种优化技术 它允许将你的代码分割成多个小块 以便在不同的页面或情境中按需加载 这可以显著减小初始加载的资源大小 提高网页性能 Webpack提供了几种方式来设置分包 其中最常见的是
  • 搞懂 API ,地图 API 制作方法分享

    地图 API 是一种基于 Web 开发的应用程序编程接口 可以用于创建和展示地图及地理信息 以下是一些地图 API 制作的方法 选择地图 API 平台 目前市场上有很多地图 API 平台供选择 比如 Google Maps API 百度地图
  • WorkTool企微机器人自动接收图片回传(方案三)

    自动接收图片并上传到服务器 仅适用企业微信应用 前言 WorkTool企微机器人可以接收客户群的消息 但接收图片一直是个问题 前面也介绍过两种图片接收方案 但都会影响运行效率 并且不能达到100 的图片接收率 实测95 本方案三是通过企微官
  • 2023年测试之路,从功能测试进阶测试开发工程师,突破内卷...

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • QT5.9.6和VS2015的配置使用

    要做界面但是MFC实在是 所以果断尝试QT实现界面化 QT5 9 6 VS2015 opencv2 4 13 所用软件 QT5 9 6 VS2015 参考地址 Qt5 7 VS2015 环境搭建https blog csdn net lia
  • kafka常用命令汇总

    新建topic bin kafka topics sh zookeeper localhost 2181 create replication factor 1 partitions 1 topic test service 删除topic
  • Qt发送端用自定义结构体发送,接收端QByteArray接收

    Qt TCP UDP 一端用自定义结构体发送消息 一端用QByteArray接收消息 用自定义结构体发送消息 void TcpServer timeOut QDateTime nowTime QDateTime currentDateTim
  • select top语句 mysql_SQL SELECT TOP 语句

    SELECT TOP 子句用于规定要返回的记录的数目 SELECT TOP 子句对于拥有数千条记录的大型表来说 是非常有用的 注释 并非所有的数据库系统都支持 SELECT TOP 子句 SQL Server MS Access 语法 SE
  • SSE3和SSSE3 Intrinsics各函数介绍

    SIMD相关头文件包括 include
  • string类常见用法

    需要包含头文件和命名空间 include
  • Linux高级命令05:压缩和解压缩命令

    学习目标 能够使用tar命令完成文件的压缩和解压缩 1 压缩格式的介绍 Linux默认支持的压缩格式 gz bz2 zip 说明 gz和 bz2的压缩包需要使用tar命令来压缩和解压缩 zip的压缩包需要使用zip命令来压缩 使用unzip
  • mysql连接中的Access denied for user ‘root’@‘localhost’ 和Unknown database问题解决

    1 端口端口 看看是否3306有被占用 主要原因 2 密码加双引号试试 3 unknown database的时候 一定看看服务中是否有其他的mysql服务在运行 要关掉其他的
  • STM32G030Cx HAL库Flash擦除或编程操作出错的解决办法

    STM32G030Cx HAL库Flash擦除与编程操作 例程说明 一 宏定义及变量 二 获取页 三 写数据 双字 四 调用验证 例程说明 STM32G0芯片对Flash操作容易出错 经常出现擦除失败或编程失败的情况 故有此记录 STM32
  • Jetbrains系列开发工具日常配置与使用

    文章目录 IntelliJ IDEA 各种常用配置 常见问题 PyCharm 常见问题 IntelliJ IDEA IDEA的确是Java开发利器 之前一直用Eclipse 后来实习单位都用IDEA 就慢慢转了 开始还不习惯 后来就不禁被其