IntelliJ IDEA:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
→‎QA
 
(未显示同一用户的15个中间版本)
第76行: 第76行:


===== 依赖声明 =====
===== 依赖声明 =====
        <small><small><!--mysql-->
<small><small><nowiki><!--mysql-->
        <dependency>
<dependency>
            <groupId>mysql</groupId>
    <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
    <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version>
    <version>8.0.33</version>
        </dependency>
</dependency>
        <!--h2-->
<!--h2-->
        <dependency>
<dependency>
            <groupId>com.h2database</groupId>
    <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
    <artifactId>h2</artifactId>
            <version>2.2.224</version>
    <version>2.2.224</version>
        </dependency>
</dependency>
        <!--Json-->
<!--Json-->
        <dependency>
<dependency>
            <groupId>com.google.code.gson</groupId>
    <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
    <artifactId>gson</artifactId>
            <version>2.8.9</version>
    <version>2.8.9</version>
        </dependency>
</dependency>
        <!--Kafka-->
<!--Kafka-->
        <dependency>
<dependency>
            <groupId>org.apache.kafka</groupId>
    <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
    <artifactId>kafka-clients</artifactId>
            <version>2.0.0</version>
    <version>2.0.0</version>
        </dependency>
</dependency>
        <dependency>
<dependency>
            <groupId>org.apache.kafka</groupId>
    <groupId>org.apache.kafka</groupId>
            <artifactId>kafka_2.11</artifactId>
    <artifactId>kafka_2.11</artifactId>
            <version>0.10.0.1</version>
    <version>0.10.0.1</version>
        </dependency>
</dependency>
        <dependency>
<dependency>
            <groupId>org.apache.kafka</groupId>
    <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-streams</artifactId>
    <artifactId>kafka-streams</artifactId>
            <version>1.0.0</version>
    <version>1.0.0</version>
        </dependency></small></small>
</dependency></nowiki></small></small>
 
==== .iml ====


==== 目录及文件 ====
===== .idea =====
===== .idea =====
.idea 文件夹是存储 IntelliJ IDEA 项目的配置信息,主要内容有项目本身的一些编译配置、文件编码信息、jar 包的数据源和相关的插件配置信息。此类信息属于本地配置信息,无需提交到版本控制。
.idea 文件夹是存储 IntelliJ IDEA 项目的配置信息,主要内容有项目本身的一些编译配置、文件编码信息、jar 包的数据源和相关的插件配置信息。此类信息属于本地配置信息,无需提交到版本控制。
第120行: 第121行:
  Preferences -> Build,Execution,Deployment -> Build Tools -> maven -> Local repository
  Preferences -> Build,Execution,Deployment -> Build Tools -> maven -> Local repository


==== Git ====
将一个 Git 管理的项目导入 IDEA 后,可以方便查看版本的差异(包括未提交的 local 版本):
文件(右键) -> Git -> Show Diff


==== plugins ====
==== plugins ====
===== Continue =====
===== [https://www.continue.dev/ Continue] =====
  <small><small><nowiki>  ______                  __    _
  <small><small><nowiki>  ______                  __    _
   / ____/ ____    ____  __/ /_  (_)  ____    __  __  _____  
   / ____/ ____    ____  __/ /_  (_)  ____    __  __  _____  
第134行: 第138行:
# [⌘ J] Ask a question about code
# [⌘ J] Ask a question about code
# [⌘ I] Edit code
# [⌘ I] Edit code
  <small><small><nowiki>#.continue/config.json
  <small><small><nowiki>#~/.continue/config.json
{
{
   "slashCommands":[
   "slashCommands":[
第173行: 第177行:
   }
   }
}</nowiki></small></small>
}</nowiki></small></small>
===== Generate JavaDoc =====
Tools -> Generate JavaDoc
# JavaDoc Scope: Custom scope: All Places
# Output directory
# Visibility level: protected, 下面全选
在输出目录中找到 index.html 打开


==== QA ====
==== QA ====
第207行: 第218行:
         </dependency>
         </dependency>


v2.2.224 读以前版本的数据文件报错:
Unsupported database file version or invalid file header
===== org.junit 不存在 =====
如果 import org.junit.Test 未报错(已加入依赖),但执行时出现上述报错,可能是执行目录类型错误。
# IDEA 2024
File -> Project Structure -> Modules -> (Test java Path) -> Mark as <Tests>
===== spring assistant =====
关于 IDEA CE(社区版)(2024)没有 spring assistant 插件([https://plugins.jetbrains.com/plugin/17911-spring-assistant/ Jetbrains 官网]给出的提示是不兼容),想使用这个插件(解决社区版支持 Spring Boot),可以使用 2023 年 六月以前的社区版本。[https://www.jetbrains.com/zh-cn/idea/download/other.html IDEA 历史版本]
Spring Assistant 1.05 版本的更新时间是:Jun 09, 2023
P.S. 不使用插件 IDEA CE 一样可以开发 Spring Boot 程序。See Also: [[Spring_Boot_微服务极简化开发]]


[[分类:Develop]]
[[分类:Develop]]
[[分类:Java]]
[[分类:Java]]

2024年11月4日 (一) 16:58的最新版本

IntelliJ IDEA 2023

jar 包

文件(File) -> 项目结构(Project Structure) -> 项目设置(Project Settings) -> 工件(Airifacts) -> + -> jar -> 来自依赖

  • 主类(需要 jar 包默认可执行时,需输入指定名称)
  • +包含测试(否则无法执行主类的 main)
  • 来自库的 jar 文件 -> 提取到目标(打包成一个文件, Extract to the Taget JAR),复制到输出...(多个文件),该选项后面的“输出布局”中可以在主类中选择“类路径”,实现将相关 jar 包放在不同目录的效果。

Git

IDEA -> Preferences -> Version Control
-> Git
 Path to Git executable =     # 设置 Git 所在路径
-> GitHub
 Log in via GitHub

POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.aaa.udef</groupId>
    <artifactId>udefapi</artifactId>
    <version>1.0.0</version>

    <name>udef-api</name>
    <url>http://www.mwbbs.tk</url>
    <description>UDF API Class</description>

    <packaging>jar</packaging>

    <properties>
        <udf.version>1.0.0</udf.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.9</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>2.0.9</version>
        </dependency>
    </dependencies>

    <build>
        <finalName>test</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.22</source>
                    <target>1.22</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
依赖声明
<!--mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>
<!--h2-->
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.2.224</version>
</dependency>
<!--Json-->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.9</version>
</dependency>
<!--Kafka-->
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.0.0</version>
</dependency>
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.11</artifactId>
    <version>0.10.0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-streams</artifactId>
    <version>1.0.0</version>
</dependency>

.iml

.idea

.idea 文件夹是存储 IntelliJ IDEA 项目的配置信息,主要内容有项目本身的一些编译配置、文件编码信息、jar 包的数据源和相关的插件配置信息。此类信息属于本地配置信息,无需提交到版本控制。

.iml

根目录下的 .iml 可以定义 IntelliJ IDEA 项目的显示名称、源代码目录等,覆盖 .idea 相关文件(如:udefj2.iml),如将 udefj2 项目显示为:udef(根目录下的文件 udef.iml)。

~/.m2/repository

pom 中依赖的 jar 下载位置

Preferences -> Build,Execution,Deployment -> Build Tools -> maven -> Local repository

Git

将一个 Git 管理的项目导入 IDEA 后,可以方便查看版本的差异(包括未提交的 local 版本):

文件(右键) -> Git -> Show Diff

plugins

Continue
   ______                   __     _
  / ____/ ____    ____   __/ /_   (_)  ____    __  __  _____ 
 / /     / __ \  / __ \ /_  __/  / /  / __ \  / / / / /____/  
/ /___  / /_/ / / / / /  / /_   / /  / / / / / /_/ / /____/
\____/  \____/ /_/ /_/   \__/  /_/  /_/ /_/  \__,_/  \___/ 

使用 Continue 进行 AI 辅助代码编写。

  1. 在 IDEA plugins 中安装 continue
  2. 配置本地 LLM 模型
  3. [⌘ J] Ask a question about code
  4. [⌘ I] Edit code
#~/.continue/config.json
{
  "slashCommands":[
    {
      "name": "edit",
      "description": "Edit highlighted code"
    },
    {
      "name": "comment",
      "description": "Write comments for the highlighted code"
    },
    {
      "name": "share",
      "description": "Export the current chat session to markdown",
      "params": { "ouputDir": "~/.continue/session-transcripts" }
    }
  ],
  "systemMessage": "You are a computer software development expert and are proficient in Java, Python, C, C++, SQL.",
  "embeddingsProvider": {
    "title": "Embeddings Provider",
    "provider": "ollama",
    "model": "nomic-embed-text",
    "apiBase": "http://192.168.0.242:11434"
  },
  "models": [
    {
      "title": "LLM Model",
      "provider": "ollama",
      "model": "llama3.1:8b",
      "apiBase": "http://192.168.0.242:11434"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Tab Autocomplete Model",
    "provider": "ollama",
    "model": "llama3.1:8b",
    "apiBase": "http://192.168.0.242:11434"
  }
}
Generate JavaDoc

Tools -> Generate JavaDoc

  1. JavaDoc Scope: Custom scope: All Places
  2. Output directory
  3. Visibility level: protected, 下面全选

在输出目录中找到 index.html 打开

QA

无法在 src 下建立类文件

文件 -> 项目结构 -> 项目设置 -> 模块

源:将 src 标识为源代码,将 target 标记为排除

将 src/main 也标识为 source,引用包体可以省略为:import com.udf.base.CNF(main.com.udf...)
将 src/test 标识为测试
java 不支持发行版本 7
可以在 idea Java编译器配置中修改,但会被 pom 覆盖。
# pom.xml
<build>
    <plugins>
        <plugin>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
项目左侧目录结构消失

删除项目文件夹下的 .idea 文件夹,重打开项目

H2 版本兼容性

v2.2.224 生成/修改的 H2 数据文件,对于有些 db tools 不兼容,如 < dbeaver 24.0.4。(v2.1.212 OK)

       <dependency>
           <groupId>com.h2database</groupId>
           <artifactId>h2</artifactId>
           <version>2.1.212</version>
       </dependency>

v2.2.224 读以前版本的数据文件报错:

Unsupported database file version or invalid file header
org.junit 不存在

如果 import org.junit.Test 未报错(已加入依赖),但执行时出现上述报错,可能是执行目录类型错误。

# IDEA 2024
File -> Project Structure -> Modules -> (Test java Path) -> Mark as <Tests>
spring assistant

关于 IDEA CE(社区版)(2024)没有 spring assistant 插件(Jetbrains 官网给出的提示是不兼容),想使用这个插件(解决社区版支持 Spring Boot),可以使用 2023 年 六月以前的社区版本。IDEA 历史版本

Spring Assistant 1.05 版本的更新时间是:Jun 09, 2023


P.S. 不使用插件 IDEA CE 一样可以开发 Spring Boot 程序。See Also: Spring_Boot_微服务极简化开发