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);
+ }
+}