Skip to content

Commit a7ae942

Browse files
authored
show resource files in src\main\resources (#89)
* Show resource files in src\main\resources * Show folder under resource folders * Display non-java files under package node * Add logic to read common file from a jar package. * Provide sync to .class files
1 parent ede9b7a commit a7ae942

File tree

7 files changed

+142
-32
lines changed

7 files changed

+142
-32
lines changed

jdtls.ext/com.microsoft.jdtls.ext.core/.settings/org.eclipse.jdt.core.prefs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,11 @@ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
104104
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
105105
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
106106
org.eclipse.jdt.core.compiler.source=1.8
107+
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
107108
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
108109
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
110+
org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
111+
org.eclipse.jdt.core.formatter.align_with_spaces=false
109112
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
110113
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
111114
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
@@ -115,6 +118,7 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_e
115118
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
116119
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
117120
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
121+
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
118122
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
119123
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
120124
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
@@ -158,6 +162,8 @@ org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
158162
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
159163
org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
160164
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
165+
org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=false
166+
org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
161167
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
162168
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
163169
org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true
@@ -382,6 +388,9 @@ org.eclipse.jdt.core.formatter.join_wrapped_lines=true
382388
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
383389
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
384390
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
391+
org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
392+
org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
393+
org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
385394
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
386395
org.eclipse.jdt.core.formatter.lineSplit=160
387396
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
@@ -399,10 +408,10 @@ org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common
399408
org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
400409
org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
401410
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
402-
org.eclipse.jdt.core.formatter.tabulation.char=tab
411+
org.eclipse.jdt.core.formatter.tabulation.char=space
403412
org.eclipse.jdt.core.formatter.tabulation.size=4
404413
org.eclipse.jdt.core.formatter.use_on_off_tags=false
405-
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
414+
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true
406415
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
407416
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
408417
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true

jdtls.ext/com.microsoft.jdtls.ext.core/.settings/org.eclipse.jdt.ui.prefs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ cleanup_profile=org.eclipse.jdt.ui.default.eclipse_clean_up_profile
5858
cleanup_settings_version=2
5959
eclipse.preferences.version=1
6060
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
61-
formatter_profile=_JDTLS.EXT
62-
formatter_settings_version=13
61+
formatter_profile=_Java Dependency
62+
formatter_settings_version=14
6363
org.eclipse.jdt.ui.javadoc=true
6464
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} Red Hat Inc. and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * Red Hat Inc. - initial API and implementation\n *******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
6565
sp_cleanup.add_default_serial_version_id=true

jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/JarFileContentProvider.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,16 @@
1515
import java.io.InputStream;
1616
import java.net.URI;
1717
import java.nio.charset.StandardCharsets;
18+
import java.util.Arrays;
1819

1920
import org.apache.commons.io.IOUtils;
21+
import org.apache.commons.lang3.StringUtils;
2022
import org.eclipse.core.runtime.CoreException;
2123
import org.eclipse.core.runtime.IProgressMonitor;
2224
import org.eclipse.core.runtime.IStatus;
2325
import org.eclipse.core.runtime.Status;
2426
import org.eclipse.jdt.core.IJarEntryResource;
27+
import org.eclipse.jdt.core.IPackageFragment;
2528
import org.eclipse.jdt.core.IPackageFragmentRoot;
2629
import org.eclipse.jdt.core.JavaCore;
2730
import org.eclipse.jdt.internal.core.JarEntryDirectory;
@@ -64,6 +67,24 @@ private String getContent(String rootId, String path, IProgressMonitor pm) {
6467
}
6568
}
6669
}
70+
// if the file exists in the java packages
71+
String[] segments = StringUtils.split(path, "/");
72+
String packageName = StringUtils.join(Arrays.asList(segments).subList(0, segments.length - 1), '.');
73+
IPackageFragment packageFragment = packageRoot.getPackageFragment(packageName);
74+
if (packageFragment != null && packageFragment.exists()) {
75+
76+
Object[] objs = packageFragment.getNonJavaResources();
77+
for (Object obj : objs) {
78+
if (obj instanceof IJarEntryResource) {
79+
IJarEntryResource child = (IJarEntryResource) obj;
80+
if (child instanceof JarEntryFile && child.getFullPath().toPortableString().equals(path)) {
81+
return readFileContent((JarEntryFile) child);
82+
}
83+
}
84+
85+
}
86+
}
87+
6788
}
6889
} catch (CoreException e) {
6990
JavaLanguageServerPlugin.logException("Problem get JarEntryFile content ", e);

0 commit comments

Comments
 (0)