提交 6fd08e11 编写于 作者: S serge-rider

#1870 SQL assistant: configurable global search

上级 29cb76a3
......@@ -121,6 +121,7 @@ public class DBeaverPreferencesInitializer extends AbstractPreferenceInitializer
PrefUtils.setDefaultPreferenceValue(store, SQLPreferenceConstants.HIDE_DUPLICATE_PROPOSALS, false);
PrefUtils.setDefaultPreferenceValue(store, SQLPreferenceConstants.PROPOSAL_SHORT_NAME, false);
PrefUtils.setDefaultPreferenceValue(store, SQLPreferenceConstants.INSERT_SPACE_AFTER_PROPOSALS, false);
PrefUtils.setDefaultPreferenceValue(store, SQLPreferenceConstants.USE_GLOBAL_ASSISTANT, false);
PrefUtils.setDefaultPreferenceValue(store, SQLPreferenceConstants.SQLEDITOR_CLOSE_SINGLE_QUOTES, true);
PrefUtils.setDefaultPreferenceValue(store, SQLPreferenceConstants.SQLEDITOR_CLOSE_DOUBLE_QUOTES, true);
......
......@@ -27,6 +27,7 @@ public class SQLPreferenceConstants
public static final String HIDE_DUPLICATE_PROPOSALS = "SQLEditor.ContentAssistant.hide.duplicates";
public static final String PROPOSAL_SHORT_NAME = "SQLEditor.ContentAssistant.proposals.short.name";
public static final String INSERT_SPACE_AFTER_PROPOSALS = "SQLEditor.ContentAssistant.insert.space.after.proposal";
public static final String USE_GLOBAL_ASSISTANT = "SQLEditor.ContentAssistant.use.global.search";
// Auto-save
public static final String AUTO_SAVE_ON_CLOSE = "SQLEditor.autoSaveOnClose";
......
......@@ -251,7 +251,7 @@ class SQLCompletionAnalyzer
}
}
if (structureAssistant != null) {
makeProposalsFromAssistant(structureAssistant, sc, lastToken);
makeProposalsFromAssistant(dataSource, structureAssistant, sc, lastToken);
}
}
}
......@@ -530,9 +530,10 @@ class SQLCompletionAnalyzer
}
private void makeProposalsFromAssistant(
DBSStructureAssistant assistant,
@Nullable DBSObjectContainer rootSC,
String objectName)
DBPDataSource dataSource,
DBSStructureAssistant assistant,
@Nullable DBSObjectContainer rootSC,
String objectName)
{
try {
Collection<DBSObjectReference> references = assistant.findObjectsByMask(
......@@ -541,7 +542,7 @@ class SQLCompletionAnalyzer
assistant.getAutoCompleteObjectTypes(),
request.wordDetector.removeQuotes(objectName) + "%",
request.wordDetector.isQuoted(objectName),
false,
dataSource.getContainer().getPreferenceStore().getBoolean(SQLPreferenceConstants.USE_GLOBAL_ASSISTANT),
100);
for (DBSObjectReference reference : references) {
request.proposals.add(makeProposalsFromObject(reference, reference.getObjectType().getImage()));
......
......@@ -42,6 +42,7 @@ public class PrefPageSQLCompletion extends TargetPrefPage
private Button csHideDuplicates;
private Button csShortName;
private Button csInsertSpace;
private Button csUseGlobalSearch;
public PrefPageSQLCompletion()
{
......@@ -60,7 +61,8 @@ public class PrefPageSQLCompletion extends TargetPrefPage
store.contains(SQLPreferenceConstants.PROPOSAL_INSERT_CASE) ||
store.contains(SQLPreferenceConstants.HIDE_DUPLICATE_PROPOSALS) ||
store.contains(SQLPreferenceConstants.PROPOSAL_SHORT_NAME) ||
store.contains(SQLPreferenceConstants.INSERT_SPACE_AFTER_PROPOSALS)
store.contains(SQLPreferenceConstants.INSERT_SPACE_AFTER_PROPOSALS) ||
store.contains(SQLPreferenceConstants.USE_GLOBAL_ASSISTANT)
;
}
......@@ -116,6 +118,7 @@ public class PrefPageSQLCompletion extends TargetPrefPage
csHideDuplicates = UIUtils.createCheckbox(assistGroup, "Hide duplicate names from non-active schemas", null, false, 2);
csShortName = UIUtils.createCheckbox(assistGroup, "Use short object names (omit schema/catalog)", null, false, 2);
csInsertSpace = UIUtils.createCheckbox(assistGroup, "Insert space after table/column names", null, false, 2);
csUseGlobalSearch = UIUtils.createCheckbox(assistGroup, "Use global search (in all schemas)", "Search for objects in all schemas. Otherwise search only in current/system schemas.", false, 2);
}
return composite;
......@@ -135,6 +138,7 @@ public class PrefPageSQLCompletion extends TargetPrefPage
csShortName.setSelection(store.getBoolean(SQLPreferenceConstants.PROPOSAL_SHORT_NAME));
csInsertSpace.setSelection(store.getBoolean(SQLPreferenceConstants.INSERT_SPACE_AFTER_PROPOSALS));
csUseGlobalSearch.setSelection(store.getBoolean(SQLPreferenceConstants.USE_GLOBAL_ASSISTANT));
} catch (Exception e) {
log.warn(e);
}
......@@ -152,6 +156,7 @@ public class PrefPageSQLCompletion extends TargetPrefPage
store.setValue(SQLPreferenceConstants.HIDE_DUPLICATE_PROPOSALS, csHideDuplicates.getSelection());
store.setValue(SQLPreferenceConstants.PROPOSAL_SHORT_NAME, csShortName.getSelection());
store.setValue(SQLPreferenceConstants.INSERT_SPACE_AFTER_PROPOSALS, csInsertSpace.getSelection());
store.setValue(SQLPreferenceConstants.USE_GLOBAL_ASSISTANT, csUseGlobalSearch.getSelection());
} catch (Exception e) {
log.warn(e);
}
......@@ -169,6 +174,7 @@ public class PrefPageSQLCompletion extends TargetPrefPage
store.setToDefault(SQLPreferenceConstants.HIDE_DUPLICATE_PROPOSALS);
store.setToDefault(SQLPreferenceConstants.PROPOSAL_SHORT_NAME);
store.setToDefault(SQLPreferenceConstants.INSERT_SPACE_AFTER_PROPOSALS);
store.setToDefault(SQLPreferenceConstants.USE_GLOBAL_ASSISTANT);
}
@Override
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册