diff --git a/java2json.jar b/java2json.jar index caca4d0..0aa3d12 100644 Binary files a/java2json.jar and b/java2json.jar differ diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml index fddb155..8a119b8 100644 --- a/resources/META-INF/plugin.xml +++ b/resources/META-INF/plugin.xml @@ -50,6 +50,9 @@ + diff --git a/src/com/linsage/Java2JsonAction.java b/src/com/linsage/Java2JsonAction.java index b646639..e90be46 100644 --- a/src/com/linsage/Java2JsonAction.java +++ b/src/com/linsage/Java2JsonAction.java @@ -34,7 +34,10 @@ public class Java2JsonAction extends AnAction { private static String pattern = "yyyy-MM-dd HH:mm:ss"; private static DateFormat df = new SimpleDateFormat(pattern); public static boolean isShowComment = true; - + /** + * 下划线模式 不用驼峰 + */ + public static boolean isUnderlineModel = false; @NonNls private static final Map normalTypes = new HashMap<>(); @@ -180,6 +183,26 @@ private static String getJsonKeyName(String name, String text) { if (matcher.find()){ jsonKey = matcher.group(1).split(",")[0]; } + //驼峰转下划线 + if (isUnderlineModel) { + jsonKey = underline(jsonKey); + } return jsonKey; } + private static String underline(String name) { + StringBuilder buf = new StringBuilder(); + for (int i = 0; i < name.length(); ++i) { + char ch = name.charAt(i); + if (ch >= 'A' && ch <= 'Z') { + char ch_ucase = (char) (ch + 32); + if (i > 0) { + buf.append('_'); + } + buf.append(ch_ucase); + } else { + buf.append(ch); + } + } + return buf.toString(); + } } diff --git a/src/com/linsage/menu/ToggleCommentAction.java b/src/com/linsage/menu/ToggleCommentAction.java index 6229d3f..277cbc4 100644 --- a/src/com/linsage/menu/ToggleCommentAction.java +++ b/src/com/linsage/menu/ToggleCommentAction.java @@ -9,6 +9,6 @@ public class ToggleCommentAction extends AnAction { @Override public void actionPerformed(AnActionEvent e) { Java2JsonAction.isShowComment = !Java2JsonAction.isShowComment; - e.getPresentation().setIcon(Java2JsonAction.isShowComment ? AllIcons.Actions.Checked : null); + e.getPresentation().setIcon(Java2JsonAction.isShowComment ? AllIcons.Actions.Checked : AllIcons.Actions.Cancel); } } diff --git a/src/com/linsage/menu/ToggleUnderLineAction.java b/src/com/linsage/menu/ToggleUnderLineAction.java new file mode 100644 index 0000000..56806b4 --- /dev/null +++ b/src/com/linsage/menu/ToggleUnderLineAction.java @@ -0,0 +1,14 @@ +package com.linsage.menu; + +import com.intellij.icons.AllIcons; +import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.actionSystem.AnActionEvent; +import com.linsage.Java2JsonAction; + +public class ToggleUnderLineAction extends AnAction { + @Override + public void actionPerformed(AnActionEvent e) { + Java2JsonAction.isUnderlineModel = !Java2JsonAction.isUnderlineModel; + e.getPresentation().setIcon(Java2JsonAction.isUnderlineModel ? AllIcons.Actions.Checked : AllIcons.Actions.Cancel); + } +}