Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified java2json.jar
Binary file not shown.
3 changes: 3 additions & 0 deletions resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@
<add-to-group group-id="ToolsMenu" anchor="last"/>
<action class="com.linsage.menu.ToggleCommentAction" id="menu_comment" text="Toggle Comment" icon="AllIcons.Actions.Checked" />
<action class="com.linsage.menu.SponsorAction" id="menu_sponsor" text="Sponsor me" />
<action class="com.linsage.menu.ToggleUnderLineAction" id="menu_underline" text="Toggle UnderLine"
icon="AllIcons.Actions.Cancel"
/>
</group>
</actions>

Expand Down
25 changes: 24 additions & 1 deletion src/com/linsage/Java2JsonAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<String, Object> normalTypes = new HashMap<>();

Expand Down Expand Up @@ -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();
}
}
2 changes: 1 addition & 1 deletion src/com/linsage/menu/ToggleCommentAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
14 changes: 14 additions & 0 deletions src/com/linsage/menu/ToggleUnderLineAction.java
Original file line number Diff line number Diff line change
@@ -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);
}
}