D8gerAutoCode
D8gerAutoCode copied to clipboard
🔥🔥🔥 🚀 重复编码老瞎忙,⚡️写来写去那几行, 🌱 不知工具在何方?🍻 八哥智能一键帮!
D8gerAutoCode
IDEA Code Automatically Generate Plugin • For Java Version
中文说明
Attention
The latest version is 4.1 is approved by the official on 10th, May.
If you can't fetch it, then click here to download ~~.zip~~ file.
Important: This version has been implemented DSP(D8ger Series Plan).
That is, some functions have been migrated to another plugin named LaoYouTiao. After testing, installing two plugins will not affect performance. So, I hope you use happy and give me a 🌟, thx!
Preface
As JetBrains' said, I believe that you should be good use of tools will save you precious hours on your busing work.
I always wonder, "If someone else has already solved the repeating work, why do I need to repeat it again?"
Well, that's a valid question for my drive to find the repeat parts at daily work and develop this plugin to save my time.
Quick Start
Convention
- The general problem provides standard solutions
- The personalized problem only provides example solutions
Original design intention
- Remove the fixed duplication coding for improving efficiency in development
- Provide available code templates that can be used without modification
- Support code directory configuration, only by self-guided package intelligent programming can be done in one-click
- Support user-defined configuration, you can specify which file to be generated
Features
- ~~Camel-Underline-Uppercase-Uncapitalize-Lowercase can be converted to each other by shortcut~~
alt+shift+cmd+U - The comments of generated codes support English(Default) | Chinese Simplified(Optional) configuration
- ~~JSON formatting and single line text conversion, supporting section and whole document, default shortcut~~
alt+shift+cmd+J|S - Generating
data table definition SQL|Mo|Mapper|Handler, single table addition, deletion, modification and search with paging in one click - Under the help of SwaggerApi generating
Vo|Controllerwith friendly document description, in addition to this, supportingVofield automatic sorting - For smart coding, you just need one shortcut default as
alt+shift+cmd+D - Supporting customer configuration, for example, specify the author who you are
- Reserve easter eggs, you can try to edit the blank file in IDEA and type
d8gerto get the default configuration template - ~~Reserve easter eggs, edit the blank file in IDEA and enter
nasato get the NASA configuration file template. This is very useful and efficient for handling multi-lines, especially SQL field naming processing.~~ - ~~Reserve easter eggs, edit the blank file in IDEA and enter
regexto get some commonly used regular expressions. Other code Easter eggs will be added later.~~ - For automatic sorting
Vofield , you just need one shortcut default asalt+shift+cmd+O
Using manual(v3.0+)
1.Open the configuration box to set the generation parameters, Preference --> Other Settings --> D8gerAutoCode
2.Check the file to be generated and choose the generation path, rewrite author、apiUrlPrefix and locale, and click the button to save your configuration.
Using manual(under v3.0)
-
Create Model Class
-
Select the class name and press the (default) shortcut
alt+shift+cmd+D -
Under the default configuration,
D8gerAutoCodedirectory anddata table SQL definitionsand Web codes will be generated -
So, What you need to do:
- Under a multi-module project, configure the generated file output directory, for example,
Mo.javashould be moved into themodeldirectory - Add non-null constraints to
xx.sqlas required - If you generated the Controller.java file, please note the interface returns type of
Object, it should be modified to the project's uniform return type - In the above steps the
xx.javafile will report some errors, don't worry, these just require you to import packages
- Under a multi-module project, configure the generated file output directory, for example,
-
Default configuration file template for easter egg:
- In the
resourceroot directory of the module where theModel classis located, created8ger.propertiesproperty configuration file - Type
d8gerand click onTools->D8ger->D8gerMore, and you will find some surprise
- In the
-
~~Regex template for easter egg:~~
- ~~Choose any blank file, Type
regexand click onTools->D8ger->D8gerMore, and you will find some surprise~~
- ~~Choose any blank file, Type
-
~~NASA template for easter egg:~~
- ~~Choose any blank file, Type
nasaand click onTools->D8ger->D8gerMore, and you will get the NASA manual~~ - ~~Follow the manual, custom your config and write your own multi-lines need to be batch handled, then you will find some surprise~~
- ~~Choose any blank file, Type
-
~~Camel-Underline-Uppercase-Uncapitalize-Lowercase circle convert by one-click~~
- ~~Choose word text in any editing file, press
alt+shift+cmd+U, you`ll find the changed word~~ - ~~If not satisfied just press the shortcut again and again util you are.~~
- ~~Choose word text in any editing file, press
-
You will get the following default configuration information
- It's recommended that you change the configuration items
author(you can't sign my name for the pits you dug!)apiUrlPrefix(the interface url prefix should be configured as the project interface unified URL prefix)- generate file output directory under a multi-module project
- As for
booleanconfiguration items, let you choose which files need to be generated, and specify output directory is optional
- It's recommended that you change the configuration items
By the way, these default shortcuts used in Mac OS, if you use Windows just take
cmdintoctrl.
How to install
Preference-->Plugins-->Marketplace--> typeD8--> install- IDEA official plugin library installation
- As for
Source installationrequires you're familiar with Gradle, I will add more details about how to develop a plugin by Gradle later
Bug & Question
- Known issues
Modify the
d8ger.propertiesfile before generating code, the configuration file does not take effect
Solution
0. If you upgrade version 3.0+, you won`t see it again.
1. Because the IDEA file uses the VFS mechanism, as a plug-in to use the monitoring file I think it is not cost-effective
2. I also found a reason aboub editing .properties file, sometimes it will take one or two minutes to refresh after you finished
3. So, press `cmd` + `s` to force refreshing .properties file and you will solve it.
The icon of plugin shows error like this: red square with a cross
Solution
1.This issue is caused by Intellij IDEA of new version feature.
2.Try to upgrade the version of Intellij util 2019.3.*(greater than 2019.2.*), you'll fix it.
Other issues, please come to join room
VersionRoadHistory
-
4.1
- Fix 'D8gerAutoCode' error file path parsing while in WINDOWS system. For more detail, please refer issue2
-
4.0(HIGH.START)
- Important note: This time the function is migrated and upgraded, the plug-in has been divided into functions, the purpose is to be full-time and dedicated, and the general functions are sinking to serve more programmers
- No.0: Each plug-in is positioned in two aspects, one is efficient coding, and the other is high-quality knowledge links to help users obtain enough useful information to improve their skills
- No.1: LaoYouTiao, Published, located JetBrains full product plug-in, General functions, covering text parsing, numerical processing, shell script processing
- No.2: D8gerAutoCode, Published, located IntelliJ IDEA, auto coding
- No.3: D8gerByteSleep, Hatching, located PyCharm
- No.4: D8gerJustGo, Hatching, located GoLand
- No.5: D8gerAndison, Hatching, located Android Studio
- No.6: D8gerWebit, Hatching, located WebStorm
- No.7: RoadMap refers DSP(D8ger Series Plan)
- Function migration:
- BeautifulJSON、SimplifyOneLine、BeautifulMySQL、CamelUnderlineConvert、D8gerMore are migrated into plugin named LaoYouTiao
- The shortcut keys and usage methods have not changed, only the code generation functions related to Java are retained
- Important note: This time the function is migrated and upgraded, the plug-in has been divided into functions, the purpose is to be full-time and dedicated, and the general functions are sinking to serve more programmers
-
3.4
- Addition: 'OhMyZSH' easter eggs, try to type 'ohmyzsh' in the blank file in IDEA to get some useful linux commands. I'm sure you'll save much time.
- BugFix: Fix donate url(I'm waiting for your 🌟 the project on the github).
- Optimization: 'BeautifulJSON', 'SimplifyOneLine' and 'BeautifulMySQL' now supports section or whole document convert.
-
3.2
- BugFix: Fix 'BeautifulJSON' issue when parsing complex JSON string.
- Optimization: 'CamelUnderlineConvert' now supports Timestamp-LocalDateTime convert, select the text and use origin shortcut
alt+shift+cmd+Uto find out.
-
3.1
- BugFix:
- Fix config item
localeproblem when selected asZN, and before the 3.0 version`s comment was English default. - Fix SQL definition in x.sql file ✌️.
- Fix batch insert records in xMapper.xml file cause
id,createTime,updateTimeall should be according to the Database.
- Fix config item
- Optimization: Config item
autoDetectSQLTimeColumnnow is more intelligent. If you checked,createTimeandupdateTimewould be generated perfectly in there right position.
- BugFix:
-
3.0
- Addition:
- Grand celebration for
D8gerAutoCodegetting his face! Now you can config the generated property parameters by setting GUI. - First, Open the configuration box to set the generation parameters,
Preference-->Other Settings-->D8gerAutoCode - Then, Check the file to be generated and choose the generation path, rewrite
author、apiUrlPrefixandlocale, and click the button to save your configuration.
- Grand celebration for
- Optimization: Support project level setting parameters for non-invasive, d8ger.properties should exist invisible.
- Adjustment: Remove the generated params by
d8ger.propertiesfile, replace of D8gerAutoCode setting GUI.
- Addition:
-
2.5
- Addition:
- Add
autoDetectSQLTimeColumnconfiguration for supporting disable default generatingcreate_timeandupdate_timecolumn definition in SQL. - Add
mapperBatterThenRepositoryconfiguration for supporting custom mapper annotation in both SpringMVC and SpringBoot. - Add
selectOneByExamplein Mapper.java for supporting query one record. - Add
insertSelectiveWithIdin Mapper.java for supporting insertnon nullfield andnullfield will be filled with the database default value.
- Add
- Optimization: 'cause
idis the primary key, all insert operations should excludeidcolumn. - BugFix:
- Generation
update_timecolumn definition remove the rare comma. - Troubleshooting the rare dir named
D8gerAutoCode, now you can see it only with unspecified directory configuration.
- Generation
- Adjustment: Remove
ServiceInterfaceandServiceImpl, 'cause I thinkHandleris more suitable.
- Addition:
-
2.4
- Addition: One-click to beauty MySQL, isn't fragrant?
- Optimization: String parsing performance.
- Attention: Select your MySQL text, ctrl + alt + shift +
Bwill back a surprise.
-
2.3
- BugFix: Json format bug.
- Addition:
- NASA easter eggs, try to type
nasain the blank file in IDEA to get the nasa-template. - NASA easter eggs, multi-lines can be batch handled with the nasa-template, special for sql columns.
- NASA easter eggs, try to type
- Optimization:
- Optimize some regex performance.
- Support linebreak or comma as the delimiter.
- Support windows linebreak when rendering origin code.
- Attention:
- When execute auto-coding, you should be careful at the linebreak, it maybe different from your project config.
- Adjustment:
- Icons changed for align, friendly view etc.
- The manual of this plugin has been moved to my website.
-
2.1
- BugFix: add Uncapitalize, and the circle is Camel-Underline-Uppercase-Uncapitalize-Lowercase.
- Optimization: Optimize some regex performance.
- Attention: Regex easter eggs add some very useful regex search-replace skills hidden in JetBrains's IDE products. Try to learn, and you will save much time at working.
-
2.0
- BugFix: Modify method name in Controller.java.
- Addition:
- Remove repeat work of moving file into directories for smart coding.
- Camel-Underline-Uppercase-Lowercase can be converted to each other by shortcut
alt+shift+cmd+U. - Regex easter eggs, try to type
regexin the blank file in IDEA to find it.
- Optimization: Optimize source code and improve performance.
- Attention: If the icon of plugin shows error(red square with a cross), try to upgrade the version of Intellij util 2019.3.(greater than 2019.2.).
-
1.24
- BugFix: Update method named
updateBatchByPrimaryKeySelectivein mapper.xml. - Addition: Set default language English and you can config it as Chinese Simplified, as before, typing
d8gerfor the latest configuration template. - Attention: You should configure your database connection like
allowMultiQueries=truefor supporting batchUpdate operation.
- BugFix: Update method named
-
1.23
- BugFix: Fix required dependencies by JetBrains's suggestion for some known compatibility issues.
- Addition: Add JSON-formatter and WhiteChar-cleaner.
- Attention: Can you 🌟 the project on the github?
-
1.22
- BugFix: Fix README of style, description, picture problems.
- Enhance: Enhance profile for generating codes by using regex to replace the circle of matching string.
- Attention: Can you 🌟 the project on the github?
-
1.21
- BugFix: Fix README of style, description, picture problems.
- Addition: Add MoExample autoCoding for supporting simple sql.
- Attention: Can you 🌟 the project on the github?
-
1.20
- Completion: Auto coding for Mo/Example/Mapper/Xml/SQL/Service completed, wow!
- Attention: Can you 🌟 the project on the github?
Contribute
- Please give me a 🌟
- Raise demand, write the repetitive problems you often handled at daily work in issue
- Invite me to sit at the 🍦 shop
![]() 微信 |
![]() 支付宝 |
![]() MiXin |
Thanks
With JetBrains team's open source certificate supporting, this project will continue to develop in the spirit of open source


