Skip to content

Commit 6695992

Browse files
Fix the wrong completion list in debug console (#356)
1 parent 211c47a commit 6695992

File tree

5 files changed

+57
-1
lines changed

5 files changed

+57
-1
lines changed

.project

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,15 @@
1414
<natures>
1515
<nature>org.eclipse.m2e.core.maven2Nature</nature>
1616
</natures>
17+
<filteredResources>
18+
<filter>
19+
<id>1600224298170</id>
20+
<name></name>
21+
<type>30</type>
22+
<matcher>
23+
<id>org.eclipse.core.resources.regexFilterMatcher</id>
24+
<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
25+
</matcher>
26+
</filter>
27+
</filteredResources>
1728
</projectDescription>

com.microsoft.java.debug.core/.project

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,15 @@
2626
<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
2727
<nature>org.eclipse.m2e.core.maven2Nature</nature>
2828
</natures>
29+
<filteredResources>
30+
<filter>
31+
<id>1599036548523</id>
32+
<name></name>
33+
<type>30</type>
34+
<matcher>
35+
<id>org.eclipse.core.resources.regexFilterMatcher</id>
36+
<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
37+
</matcher>
38+
</filter>
39+
</filteredResources>
2940
</projectDescription>

com.microsoft.java.debug.plugin/.project

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,15 @@
3737
<nature>org.eclipse.pde.PluginNature</nature>
3838
<nature>org.eclipse.jdt.core.javanature</nature>
3939
</natures>
40+
<filteredResources>
41+
<filter>
42+
<id>1599036548577</id>
43+
<name></name>
44+
<type>30</type>
45+
<matcher>
46+
<id>org.eclipse.core.resources.regexFilterMatcher</id>
47+
<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
48+
</matcher>
49+
</filter>
50+
</filteredResources>
4051
</projectDescription>

com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/CompletionsProvider.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ public List<CompletionItem> codeComplete(StackFrame frame, String snippet, int l
6969

7070
collector.setAllowsRequiredProposals(CompletionProposal.TYPE_REF, CompletionProposal.TYPE_REF, true);
7171

72-
type.codeComplete(snippet.toCharArray(), offset, snippet.length(), null, null, null, frame.location().method().isStatic(), collector);
72+
int position = getInsertPosition(snippet, line, column);
73+
type.codeComplete(snippet.toCharArray(), offset, position, null, null, null, frame.location().method().isStatic(), collector);
7374

7475
List<org.eclipse.lsp4j.CompletionItem> items = collector.getCompletionItems();
7576

@@ -87,6 +88,17 @@ public List<CompletionItem> codeComplete(StackFrame frame, String snippet, int l
8788
return res;
8889
}
8990

91+
private int getInsertPosition(String snippet, int line, int column) {
92+
int lineInSnippet = context.isClientLinesStartAt1() ? line - 1 : line;
93+
int offsetInSnippet = -1;
94+
for (int i = 0; i < lineInSnippet; i++) {
95+
offsetInSnippet = snippet.indexOf('\n', offsetInSnippet + 1);
96+
}
97+
98+
offsetInSnippet++;
99+
return offsetInSnippet + column + (context.isClientColumnsStartAt1() ? -1 : 0);
100+
}
101+
90102
private IType resolveType(StackFrame frame) throws CoreException, DebugException {
91103
ISourceLookUpProvider sourceProvider = context.getProvider(ISourceLookUpProvider.class);
92104
if (sourceProvider instanceof JdtSourceLookUpProvider) {

com.microsoft.java.debug.repository/.project

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,15 @@
1414
<natures>
1515
<nature>org.eclipse.m2e.core.maven2Nature</nature>
1616
</natures>
17+
<filteredResources>
18+
<filter>
19+
<id>1600224298119</id>
20+
<name></name>
21+
<type>30</type>
22+
<matcher>
23+
<id>org.eclipse.core.resources.regexFilterMatcher</id>
24+
<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
25+
</matcher>
26+
</filter>
27+
</filteredResources>
1728
</projectDescription>

0 commit comments

Comments
 (0)