diff --git a/.run/Run Plugin.run.xml b/.run/Run Plugin.run.xml
index d15ff68..00a760e 100644
--- a/.run/Run Plugin.run.xml
+++ b/.run/Run Plugin.run.xml
@@ -1,6 +1,6 @@
-
+
@@ -19,6 +19,7 @@
true
true
false
+ false
-
\ No newline at end of file
+
diff --git a/build.gradle.kts b/build.gradle.kts
index 659b530..1d9c83c 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,5 +1,4 @@
import org.jetbrains.changelog.Changelog
-import org.jetbrains.changelog.markdownToHTML
import org.jetbrains.intellij.platform.gradle.TestFrameworkType
plugins {
@@ -53,9 +52,6 @@ dependencies {
// Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file for plugin from JetBrains Marketplace.
plugins(providers.gradleProperty("platformPlugins").map { it.split(',') })
- instrumentationTools()
- pluginVerifier()
- zipSigner()
testFramework(TestFrameworkType.Platform)
}
}
diff --git a/gradle.properties b/gradle.properties
index 708be77..5cc6bea 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -21,7 +21,7 @@ platformPlugins =
platformBundledPlugins = org.jetbrains.plugins.go
# Gradle Releases -> https://github.com/gradle/gradle/releases
-gradleVersion = 8.10
+gradleVersion = 8.11.1
# Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib
kotlin.stdlib.default.dependency = false
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index a771578..897ec2d 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -1,19 +1,19 @@
[versions]
# libraries
-junit = "5.11.0"
-lombok = "1.18.34"
-guava = "33.3.1-jre"
-druid = "1.2.23"
+junit = "5.11.4"
+lombok = "1.18.36"
+guava = "33.4.0-jre"
+druid = "1.2.24"
jsqlparser = "5.0"
evoInflector = "1.3"
-annotations = "24.1.0"
+annotations = "26.0.2"
# plugins
changelog = "2.2.1"
-intelliJPlatform = "2.0.1"
+intelliJPlatform = "2.2.1"
kotlin = "1.9.25"
kover = "0.8.3"
-qodana = "2024.1.9"
+qodana = "2024.3.4"
[libraries]
junit = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit" }
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 2c35211..a4b76b9 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 9355b41..e18bc25 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/qodana.yml b/qodana.yml
index cbf640f..a502427 100644
--- a/qodana.yml
+++ b/qodana.yml
@@ -2,7 +2,7 @@
# https://www.jetbrains.com/help/qodana/qodana-yaml.html
version: 1.0
-linter: jetbrains/qodana-jvm-community:latest
+linter: jetbrains/qodana-jvm-community:2024.2
projectJDK: "17"
profile:
name: qodana.recommended
diff --git a/settings.gradle.kts b/settings.gradle.kts
index b6484c2..726ef65 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1 +1,5 @@
rootProject.name = "Go ORM Helper"
+
+plugins {
+ id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
+}
diff --git a/src/main/java/com/github/maiqingqiang/goormhelper/Types.java b/src/main/java/com/github/maiqingqiang/goormhelper/Types.java
index 982b5c6..bd10e8c 100644
--- a/src/main/java/com/github/maiqingqiang/goormhelper/Types.java
+++ b/src/main/java/com/github/maiqingqiang/goormhelper/Types.java
@@ -6,6 +6,7 @@
import com.github.maiqingqiang.goormhelper.sql2struct.impl.SQL2GormStruct;
import com.github.maiqingqiang.goormhelper.sql2struct.impl.SQL2Struct;
import com.github.maiqingqiang.goormhelper.sql2struct.impl.SQL2XormStruct;
+import com.intellij.openapi.project.Project;
import java.util.List;
import java.util.regex.Pattern;
@@ -61,12 +62,12 @@ public String toString() {
return name;
}
- public ISQL2Struct sql2Struct(String sql, DbType dbType) {
+ public ISQL2Struct sql2Struct(Project project, String sql, DbType dbType) {
return switch (this) {
- case General -> new SQL2Struct(sql, dbType);
- case Gorm -> new SQL2GormStruct(sql, dbType);
- case Xorm -> new SQL2XormStruct(sql, dbType);
- case GoFrame -> new SQL2GoFrameStruct(sql, dbType);
+ case General -> new SQL2Struct(project, sql, dbType);
+ case Gorm -> new SQL2GormStruct(project, sql, dbType);
+ case Xorm -> new SQL2XormStruct(project, sql, dbType);
+ case GoFrame -> new SQL2GoFrameStruct(project, sql, dbType);
default -> null;
};
}
@@ -96,4 +97,20 @@ public String toString() {
return name;
}
}
+
+ enum TagMode {
+ Compact(GoORMHelperBundle.message("tagMode.Compact")),
+ Full(GoORMHelperBundle.message("tagMode.Full"));
+
+ private final String name;
+
+ @Override
+ public String toString() {
+ return name;
+ }
+
+ TagMode(String name) {
+ this.name = name;
+ }
+ }
}
diff --git a/src/main/java/com/github/maiqingqiang/goormhelper/actions/EditorPasteListener.java b/src/main/java/com/github/maiqingqiang/goormhelper/actions/EditorPasteListener.java
index bb684b4..8905da6 100644
--- a/src/main/java/com/github/maiqingqiang/goormhelper/actions/EditorPasteListener.java
+++ b/src/main/java/com/github/maiqingqiang/goormhelper/actions/EditorPasteListener.java
@@ -85,7 +85,7 @@ protected void doExecute(@NotNull Editor editor, @Nullable Caret caret, DataCont
return;
}
- ISQL2Struct sql2Struct = finalSelectedORM.sql2Struct(text, finalSelectedDatabase.toDbType());
+ ISQL2Struct sql2Struct = finalSelectedORM.sql2Struct(project, text, finalSelectedDatabase.toDbType());
if (sql2Struct == null) {
return;
}
diff --git a/src/main/java/com/github/maiqingqiang/goormhelper/actions/SQL2StructAction.java b/src/main/java/com/github/maiqingqiang/goormhelper/actions/SQL2StructAction.java
index 7f7746d..04b5f22 100644
--- a/src/main/java/com/github/maiqingqiang/goormhelper/actions/SQL2StructAction.java
+++ b/src/main/java/com/github/maiqingqiang/goormhelper/actions/SQL2StructAction.java
@@ -10,6 +10,7 @@
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.editor.Caret;
import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
import java.util.Objects;
@@ -19,13 +20,15 @@ public class SQL2StructAction extends AnAction {
@Override
public void actionPerformed(@NotNull AnActionEvent e) {
- GoORMHelperProjectSettings.State state = Objects.requireNonNull(GoORMHelperProjectSettings.getInstance(Objects.requireNonNull(e.getProject())).getState());
+ Project project = e.getProject();
+
+ GoORMHelperProjectSettings.State state = Objects.requireNonNull(GoORMHelperProjectSettings.getInstance(Objects.requireNonNull(project)).getState());
Types.ORM selectedORM = state.defaultORM;
Types.Database selectedDatabase = state.defaultDatabase;
if (selectedORM == Types.ORM.AskEveryTime || selectedDatabase == Types.Database.AskEveryTime) {
- ConvertSettingDialogWrapper wrapper = new ConvertSettingDialogWrapper(e.getProject());
+ ConvertSettingDialogWrapper wrapper = new ConvertSettingDialogWrapper(project);
if (!wrapper.showAndGet()) return;
selectedORM = (Types.ORM) wrapper.getOrmComponent().getComponent().getSelectedItem();
@@ -44,12 +47,14 @@ public void actionPerformed(@NotNull AnActionEvent e) {
final Types.ORM finalSelectedORM = selectedORM;
final Types.Database finalSelectedDatabase = selectedDatabase;
- WriteCommandAction.runWriteCommandAction(e.getProject(), () -> {
+ WriteCommandAction.runWriteCommandAction(project, () -> {
if (text == null || text.isEmpty() || finalSelectedORM == null || finalSelectedDatabase == null) return;
- ISQL2Struct sql2Struct = finalSelectedORM.sql2Struct(text, finalSelectedDatabase.toDbType());
+ ISQL2Struct sql2Struct = finalSelectedORM.sql2Struct(project, text, finalSelectedDatabase.toDbType());
- editor.getDocument().replaceString(start, end, sql2Struct.convert());
+ if (sql2Struct != null) {
+ editor.getDocument().replaceString(start, end, sql2Struct.convert());
+ }
});
}
}
diff --git a/src/main/java/com/github/maiqingqiang/goormhelper/services/GoORMHelperProjectSettings.java b/src/main/java/com/github/maiqingqiang/goormhelper/services/GoORMHelperProjectSettings.java
index 6670393..540be16 100644
--- a/src/main/java/com/github/maiqingqiang/goormhelper/services/GoORMHelperProjectSettings.java
+++ b/src/main/java/com/github/maiqingqiang/goormhelper/services/GoORMHelperProjectSettings.java
@@ -44,6 +44,10 @@ public void setDefaultDatabase(Types.Database database) {
state.defaultDatabase = database;
}
+ public void setDefaultTagMode(Types.TagMode tagMode) {
+ state.defaultTagMode = tagMode;
+ }
+
public void setEnableGlobalScan(boolean enable) {
state.enableGlobalScan = enable;
}
@@ -59,6 +63,7 @@ public void setScanPathList(List scanPathList) {
public static class State extends SimpleModificationTracker {
public Types.ORM defaultORM = Types.ORM.AskEveryTime;
public Types.Database defaultDatabase = Types.Database.AskEveryTime;
+ public Types.TagMode defaultTagMode = Types.TagMode.Full;
public boolean enableGlobalScan = true;
diff --git a/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2GoFrameStruct.java b/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2GoFrameStruct.java
index cf4efc7..5776651 100644
--- a/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2GoFrameStruct.java
+++ b/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2GoFrameStruct.java
@@ -2,11 +2,12 @@
import com.alibaba.druid.DbType;
import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;
+import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
public class SQL2GoFrameStruct extends SQL2Struct {
- public SQL2GoFrameStruct(String sql, DbType dbType) {
- super(sql, dbType);
+ public SQL2GoFrameStruct(Project project, String sql, DbType dbType) {
+ super(project, sql, dbType);
}
@Override
diff --git a/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2GormStruct.java b/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2GormStruct.java
index 4c1db3e..c11d054 100644
--- a/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2GormStruct.java
+++ b/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2GormStruct.java
@@ -2,19 +2,37 @@
import com.alibaba.druid.DbType;
import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;
+import com.github.maiqingqiang.goormhelper.Types;
+import com.github.maiqingqiang.goormhelper.services.GoORMHelperProjectSettings;
import com.github.maiqingqiang.goormhelper.utils.Strings;
+import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
+import java.util.Objects;
+
public class SQL2GormStruct extends SQL2Struct {
- public SQL2GormStruct(String sql, DbType dbType) {
- super(sql, dbType);
+ public SQL2GormStruct(Project project, String sql, DbType dbType) {
+ super(project, sql, dbType);
}
@Override
protected void generateORMTag(@NotNull StringBuilder stringBuilder, @NotNull SQLColumnDefinition definition) {
- stringBuilder.append("gorm:\"")
- .append("column:").append(getColumn(definition)).append(";")
- .append("type:").append(getDBType(definition)).append(";");
+ GoORMHelperProjectSettings.State state = Objects.requireNonNull(GoORMHelperProjectSettings.getInstance(project).getState());
+
+ if (state.defaultTagMode == Types.TagMode.Compact || state.defaultTagMode == Types.TagMode.Full) {
+ stringBuilder.append("gorm:\"")
+ .append("column:").append(getColumn(definition)).append(";");
+ }
+
+ if (state.defaultTagMode == Types.TagMode.Full) {
+ appendOriginalTagAttributes(stringBuilder, definition);
+ }
+
+ stringBuilder.append("\" ");
+ }
+
+ private void appendOriginalTagAttributes(@NotNull StringBuilder stringBuilder, @NotNull SQLColumnDefinition definition) {
+ stringBuilder.append("type:").append(getDBType(definition)).append(";");
String comment = getComment(definition);
if (!comment.isEmpty()) {
@@ -25,18 +43,15 @@ protected void generateORMTag(@NotNull StringBuilder stringBuilder, @NotNull SQL
stringBuilder.append("primaryKey;");
}
- if (definition.containsNotNullConstaint()) {
+ if (definition.containsNotNullConstraint()) {
stringBuilder.append("not null;");
}
if (definition.getDefaultExpr() != null) {
String def = Strings.clearSingleQuotn(definition.getDefaultExpr().toString());
-
if (!def.isEmpty()) {
stringBuilder.append("default:").append(def).append(";");
}
}
-
- stringBuilder.append("\" ");
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2Struct.java b/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2Struct.java
index 7681638..22337ac 100644
--- a/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2Struct.java
+++ b/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2Struct.java
@@ -10,6 +10,7 @@
import com.github.maiqingqiang.goormhelper.sql2struct.ISQL2Struct;
import com.github.maiqingqiang.goormhelper.utils.Strings;
import com.google.common.base.CaseFormat;
+import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
import java.util.List;
@@ -63,11 +64,13 @@ public class SQL2Struct implements ISQL2Struct {
private static final String defaultUnsignedDataType = "uint32";
private final String sql;
private final DbType dbType;
+ protected final Project project;
- public SQL2Struct(String sql, DbType dbType) {
+ public SQL2Struct(Project project, String sql, DbType dbType) {
this.sql = sql;
this.dbType = dbType;
+ this.project = project;
}
public String convert() {
@@ -84,23 +87,23 @@ public String convert() {
}
private void singleConvert(@NotNull StringBuilder stringBuilder, SQLStatement statement) {
- SQLCreateTableStatement createTableStatement = (SQLCreateTableStatement) statement;
+ if (statement instanceof SQLCreateTableStatement createTableStatement) {
+ String tableName = Strings.clearQuote(createTableStatement.getTableName());
+ tableName = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, tableName);
- String tableName = Strings.clearQuote(createTableStatement.getTableName());
- tableName = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, tableName);
+ stringBuilder.append("type ").append(tableName).append(" struct {\n");
- stringBuilder.append("type ").append(tableName).append(" struct {\n");
+ List tableElementList = createTableStatement.getTableElementList();
- List tableElementList = createTableStatement.getTableElementList();
-
- for (SQLTableElement sqlTableElement : tableElementList) {
- if (sqlTableElement instanceof SQLColumnDefinition sqlColumnDefinition) {
- generateStructField(stringBuilder, sqlColumnDefinition);
+ for (SQLTableElement sqlTableElement : tableElementList) {
+ if (sqlTableElement instanceof SQLColumnDefinition sqlColumnDefinition) {
+ generateStructField(stringBuilder, sqlColumnDefinition);
+ }
}
- }
- stringBuilder.append("}\n\n");
+ stringBuilder.append("}\n\n");
+ }
}
protected String getGoType(@NotNull SQLColumnDefinition definition) {
diff --git a/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2XormStruct.java b/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2XormStruct.java
index ce3fd62..91b7a92 100644
--- a/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2XormStruct.java
+++ b/src/main/java/com/github/maiqingqiang/goormhelper/sql2struct/impl/SQL2XormStruct.java
@@ -2,21 +2,37 @@
import com.alibaba.druid.DbType;
import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;
+import com.github.maiqingqiang.goormhelper.Types;
+import com.github.maiqingqiang.goormhelper.services.GoORMHelperProjectSettings;
import com.github.maiqingqiang.goormhelper.utils.Strings;
+import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
+import java.util.Objects;
+
public class SQL2XormStruct extends SQL2Struct {
- public SQL2XormStruct(String sql, DbType dbType) {
- super(sql, dbType);
+ public SQL2XormStruct(Project project, String sql, DbType dbType) {
+ super(project, sql, dbType);
}
@Override
protected void generateORMTag(@NotNull StringBuilder stringBuilder, @NotNull SQLColumnDefinition definition) {
- stringBuilder.append("xorm:\"");
+ GoORMHelperProjectSettings.State state = Objects.requireNonNull(GoORMHelperProjectSettings.getInstance(project).getState());
+
+ if (state.defaultTagMode == Types.TagMode.Compact || state.defaultTagMode == Types.TagMode.Full) {
+ stringBuilder.append("xorm:\"")
+ .append(getDBType(definition)).append(" ")
+ .append("'").append(getColumn(definition)).append("' ");
+ }
+
+ if (state.defaultTagMode == Types.TagMode.Full) {
+ appendOriginalTagAttributes(stringBuilder, definition);
+ }
- stringBuilder.append(getDBType(definition)).append(" ");
- stringBuilder.append("'").append(getColumn(definition)).append("' ");
+ stringBuilder.append("\" ");
+ }
+ private void appendOriginalTagAttributes(@NotNull StringBuilder stringBuilder, @NotNull SQLColumnDefinition definition) {
String comment = getComment(definition);
if (!comment.isEmpty()) {
stringBuilder.append("comment('").append(comment).append("') ");
@@ -30,18 +46,15 @@ protected void generateORMTag(@NotNull StringBuilder stringBuilder, @NotNull SQL
stringBuilder.append("autoincr ");
}
- if (definition.containsNotNullConstaint()) {
+ if (definition.containsNotNullConstraint()) {
stringBuilder.append("notnull ");
}
if (definition.getDefaultExpr() != null) {
String def = Strings.clearSingleQuotn(definition.getDefaultExpr().toString());
-
if (!def.isEmpty()) {
stringBuilder.append("default ").append(def).append(" ");
}
}
-
- stringBuilder.append("\" ");
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/github/maiqingqiang/goormhelper/ui/GoORMHelperSettingForm.java b/src/main/java/com/github/maiqingqiang/goormhelper/ui/GoORMHelperSettingForm.java
index d9af2de..6cb6fda 100644
--- a/src/main/java/com/github/maiqingqiang/goormhelper/ui/GoORMHelperSettingForm.java
+++ b/src/main/java/com/github/maiqingqiang/goormhelper/ui/GoORMHelperSettingForm.java
@@ -29,6 +29,8 @@ public class GoORMHelperSettingForm implements ConfigurableUi ormComboBox;
private ComboBox databaseComboBox;
+ private ComboBox tagModeComboBox;
+
private JCheckBox enableGlobalScanCheckBox;
private ListTableModel scanPathListTableModel;
// private TextFieldWithBrowseButton sqlPathTextField;
@@ -63,6 +65,8 @@ private static FileChooserDescriptor getFileChooserDescriptor(String title) {
private void initComponent() {
ormComboBox = new ComboBox<>(Types.ORM.values());
databaseComboBox = new ComboBox<>(Types.Database.values());
+ tagModeComboBox = new ComboBox<>(Types.TagMode.values());
+
enableGlobalScanCheckBox = new JCheckBox(GoORMHelperBundle.message("setting.enableGlobalScanCheckBox.title"));
findStructTableNameFuncCheckBox = new JCheckBox(GoORMHelperBundle.message("setting.findStructTableNameFuncCheckBox.title"));
@@ -70,6 +74,7 @@ private void initComponent() {
.createFormBuilder()
.addLabeledComponent(GoORMHelperBundle.message("setting.ormComboBox.title"), ormComboBox)
.addLabeledComponent(GoORMHelperBundle.message("setting.databaseComboBox.title"), databaseComboBox)
+ .addLabeledComponent(GoORMHelperBundle.message("setting.tagModeComboBox.title"), tagModeComboBox)
.addComponent(enableGlobalScanCheckBox)
.addComponentFillVertically(initScanPathComponent(), 0)
.addComponent(new JSeparator())
@@ -134,6 +139,8 @@ private void loadSettings(@NotNull GoORMHelperProjectSettings settings) {
ormComboBox.setSelectedItem(state.defaultORM);
databaseComboBox.setSelectedItem(state.defaultDatabase);
+ tagModeComboBox.setSelectedItem(state.defaultTagMode);
+
// sqlPathTextField.setText(state.sqlPath);
enableGlobalScanCheckBox.setSelected(state.enableGlobalScan);
findStructTableNameFuncCheckBox.setSelected(state.findStructTableNameFunc);
@@ -147,6 +154,7 @@ public boolean isModified(@NotNull GoORMHelperProjectSettings settings) {
return !(ormComboBox.getSelectedItem() == state.defaultORM
&& databaseComboBox.getSelectedItem() == state.defaultDatabase
+ && tagModeComboBox.getSelectedItem() == state.defaultTagMode
// && sqlPathTextField.getText().equals(state.sqlPath)
&& enableGlobalScanCheckBox.isSelected() == state.enableGlobalScan
&& findStructTableNameFuncCheckBox.isSelected() == state.findStructTableNameFunc
@@ -160,6 +168,7 @@ public void apply(@NotNull GoORMHelperProjectSettings settings) {
List oldscanPathList = scanPathListTableModel.getItems();
settings.setDefaultDatabase((Types.Database) databaseComboBox.getSelectedItem());
+ settings.setDefaultTagMode((Types.TagMode) tagModeComboBox.getSelectedItem());
settings.setDefaultORM((Types.ORM) ormComboBox.getSelectedItem());
settings.setEnableGlobalScan(enableGlobalScanCheckBox.isSelected());
settings.setFindStructTableNameFunc(findStructTableNameFuncCheckBox.isSelected());
diff --git a/src/main/resources/messages/GoORMHelperBundle.properties b/src/main/resources/messages/GoORMHelperBundle.properties
index 02f9552..b5c5c29 100644
--- a/src/main/resources/messages/GoORMHelperBundle.properties
+++ b/src/main/resources/messages/GoORMHelperBundle.properties
@@ -10,11 +10,13 @@ sql.convert.struct.check=Please check if the SQL is correct.
action.GoORMHelper.SQL2StructAction.text=SQL Convert Struct
action.GoORMHelper.SQL2StructAction.description=SQL Convert Struct
# setting
+setting.basic.title=Basic
setting.tableview.column.location=Location
setting.decorator.title=Scan Path
setting.ormComboBox.title=ORM
setting.databaseComboBox.title=Database
-setting.sqlPathTextField.title=SQL File Path
+setting.tagModeComboBox.title=Tag Mode
+setting.scanPath.title=SQL File Path
setting.enableGlobalScanCheckBox.title=Global Scan
setting.findStructTableNameFuncCheckBox.title=Scan Struct Table Name
setting.experimental.title=Experimental:
@@ -22,4 +24,7 @@ setting.experimental.title=Experimental:
database.AskEveryTime=Ask every time
# orm
orm.AskEveryTime=Ask every time
-orm.General=General
\ No newline at end of file
+orm.General=General
+# tag mode
+tagMode.Compact=Compact
+tagMode.Full=Full
\ No newline at end of file
diff --git a/src/main/resources/messages/GoORMHelperBundle_ja.properties b/src/main/resources/messages/GoORMHelperBundle_ja.properties
index f5560f4..11fbc66 100644
--- a/src/main/resources/messages/GoORMHelperBundle_ja.properties
+++ b/src/main/resources/messages/GoORMHelperBundle_ja.properties
@@ -14,7 +14,8 @@ setting.tableview.column.location=\u30D1\u30B9
setting.decorator.title=\u30B9\u30AD\u30E3\u30F3\u30D1\u30B9
setting.ormComboBox.title=ORM
setting.databaseComboBox.title=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9
-setting.sqlPathTextField.title=SQL \u30D5\u30A1\u30A4\u30EB\u30D1\u30B9
+setting.tagModeComboBox.title=Tag Mode
+setting.scanPath.title=SQL \u30D5\u30A1\u30A4\u30EB\u30D1\u30B9
setting.enableGlobalScanCheckBox.title=\u30B0\u30ED\u30FC\u30D0\u30EB\u30B9\u30AD\u30E3\u30F3
setting.findStructTableNameFuncCheckBox.title=Struct \u30c6\u30fc\u30d6\u30eb\u540d\u3092\u30b9\u30ad\u30e3\u30f3\u3059\u308b
setting.experimental.title=\u5b9f\u9a13\u7684:
@@ -22,4 +23,7 @@ setting.experimental.title=\u5b9f\u9a13\u7684:
database.AskEveryTime=\u6BCE\u56DE\u306E\u554F\u3044\u5408\u308F\u305B
# orm
orm.AskEveryTime=\u6BCE\u56DE\u306E\u554F\u3044\u5408\u308F\u305B
-orm.General=\u5171\u901A
\ No newline at end of file
+orm.General=\u5171\u901A
+# tag mode
+tagMode.Compact=Compact
+tagMode.Full=Full
\ No newline at end of file
diff --git a/src/main/resources/messages/GoORMHelperBundle_ko.properties b/src/main/resources/messages/GoORMHelperBundle_ko.properties
index b7fe151..d8f8e32 100644
--- a/src/main/resources/messages/GoORMHelperBundle_ko.properties
+++ b/src/main/resources/messages/GoORMHelperBundle_ko.properties
@@ -14,7 +14,8 @@ setting.tableview.column.location=\uACBD\uB85C
setting.decorator.title=\uC2A4\uCE94 \uACBD\uB85C
setting.ormComboBox.title=ORM
setting.databaseComboBox.title=\uB370\uC774\uD130\uBCA0\uC774\uC2A4
-setting.sqlPathTextField.title=SQL \uD30C\uC77C \uACBD\uB85C
+setting.tagModeComboBox.title=Tag Mode
+setting.scanPath.title=SQL \uD30C\uC77C \uACBD\uB85C
setting.enableGlobalScanCheckBox.title=\uC804\uC5ED \uAC80\uC0C9
setting.findStructTableNameFuncCheckBox.title=Struct \ud14c\uc774\ube14 \uc774\ub984 \uc2a4\uce94
setting.experimental.title=\uc2e4\ud5d8\uc801:
@@ -22,4 +23,7 @@ setting.experimental.title=\uc2e4\ud5d8\uc801:
database.AskEveryTime=\uC9C8\uBB38\uB9C8\uB2E4
# orm
orm.AskEveryTime=\uC9C8\uBB38\uB9C8\uB2E4
-orm.General=\uACF5\uD1B5
\ No newline at end of file
+orm.General=\uACF5\uD1B5
+# tag mode
+tagMode.Compact=Compact
+tagMode.Full=Full
\ No newline at end of file
diff --git a/src/main/resources/messages/GoORMHelperBundle_zh.properties b/src/main/resources/messages/GoORMHelperBundle_zh.properties
index 824cec7..66fc7f8 100644
--- a/src/main/resources/messages/GoORMHelperBundle_zh.properties
+++ b/src/main/resources/messages/GoORMHelperBundle_zh.properties
@@ -14,7 +14,8 @@ setting.tableview.column.location=\u8DEF\u5F84
setting.decorator.title=\u626B\u63CF\u8DEF\u5F84
setting.ormComboBox.title=ORM
setting.databaseComboBox.title=\u6570\u636E\u5E93
-setting.sqlPathTextField.title=SQL \u6587\u4EF6\u8DEF\u5F84
+setting.tagModeComboBox.title=Tag \u6a21\u5f0f
+setting.scanPath.title=SQL \u6587\u4EF6\u8DEF\u5F84
setting.enableGlobalScanCheckBox.title=\u5168\u5C40\u626B\u63CF
setting.findStructTableNameFuncCheckBox.title=\u626b\u63cf Struct \u8868\u540d
setting.experimental.title=\u5b9e\u9a8c\u6027
@@ -22,4 +23,7 @@ setting.experimental.title=\u5b9e\u9a8c\u6027
database.AskEveryTime=\u6BCF\u6B21\u8BE2\u95EE
# orm
orm.AskEveryTime=\u6BCF\u6B21\u8BE2\u95EE
-orm.General=\u901A\u7528
\ No newline at end of file
+orm.General=\u901A\u7528
+# tag mode
+tagMode.Compact=\u7b80\u6d01
+tagMode.Full=\u5b8c\u6574
\ No newline at end of file