Skip to content

Commit b304e48

Browse files
authored
fix: Change the setting 'java.project.explorer.filters' to 'java.project.explorer.showNonJavaResources' (#755)
1 parent 3b75af2 commit b304e48

8 files changed

+42
-54
lines changed

CHANGELOG.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
88
### Added
99
- Display non-Java files in Java Projects explorer. [#145](https://github.com./microsoft/vscode-java-dependency/issues/145)
1010
- Show non-Java projects in the Java Projects explorer. [#736](https://github.com./microsoft/vscode-java-dependency/issues/736)
11-
- Introduce a setting: `java.project.explorer.filters` to control whether non-Java resources show in Java Projects explorer. [#751](https://github.com./microsoft/vscode-java-dependency/issues/751)
11+
- Introduce a setting: `java.project.explorer.showNonJavaResources` to control whether non-Java resources show in Java Projects explorer. [#751](https://github.com./microsoft/vscode-java-dependency/issues/751)
1212
- Support creating files and folders in Java Projects explorer. [#598](https://github.com./microsoft/vscode-java-dependency/issues/598)
1313
- Apply file decorators to project level. [#481](https://github.com./microsoft/vscode-java-dependency/issues/481)
1414
- Give more hints about the project import status. [#580](https://github.com./microsoft/vscode-java-dependency/issues/580)
1515
### Fixed
1616
- Apply `files.exclude` to Java Projects explorer. [#214](https://github.com./microsoft/vscode-java-dependency/issues/214)
1717
- Empty packages will not appear sometimes. [#600](https://github.com./microsoft/vscode-java-dependency/issues/600)
18-
- Show `module-info.java` at source roots. [#698](https://github.com./microsoft/vscode-java-dependency/issues/698)
1918
- Show Java files which does not have a primary type in the Java Projects explorer. [#748](https://github.com./microsoft/vscode-java-dependency/issues/748)
2019

2120
## 0.21.2

package.json

+18-15
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,13 @@
143143
}
144144
},
145145
{
146-
"command": "java.project.explorer.configureFilters",
147-
"title": "%contributes.commands.java.project.explorer.configureFilters%",
146+
"command": "java.project.explorer.showNonJavaResources",
147+
"title": "%contributes.commands.java.project.explorer.showNonJavaResources%",
148+
"category": "Java"
149+
},
150+
{
151+
"command": "java.project.explorer.hideNonJavaResources",
152+
"title": "%contributes.commands.java.project.explorer.hideNonJavaResources%",
148153
"category": "Java"
149154
},
150155
{
@@ -270,17 +275,10 @@
270275
"markdownDescription": "%configuration.java.project.exportJar.targetPath.customization%",
271276
"default": "${workspaceFolder}/${workspaceFolderBasename}.jar"
272277
},
273-
"java.project.explorer.filters": {
274-
"type": "object",
275-
"description": "%configuration.java.project.explorer.filters%",
276-
"default": {},
277-
"properties": {
278-
"nonJavaResources": {
279-
"type": "boolean",
280-
"description": "%configuration.java.project.explorer.filters.nonJavaResources%",
281-
"default": false
282-
}
283-
}
278+
"java.project.explorer.showNonJavaResources": {
279+
"type": "boolean",
280+
"description": "%configuration.java.project.explorer.showNonJavaResources%",
281+
"default": true
284282
}
285283
}
286284
},
@@ -509,8 +507,13 @@
509507
"group": "overflow_10@20"
510508
},
511509
{
512-
"command": "java.project.explorer.configureFilters",
513-
"when": "view == javaProjectExplorer && java:serverMode == Standard",
510+
"command": "java.project.explorer.showNonJavaResources",
511+
"when": "view == javaProjectExplorer && java:serverMode == Standard && !config.java.project.explorer.showNonJavaResources",
512+
"group": "overflow_10@30"
513+
},
514+
{
515+
"command": "java.project.explorer.hideNonJavaResources",
516+
"when": "view == javaProjectExplorer && java:serverMode == Standard && config.java.project.explorer.showNonJavaResources",
514517
"group": "overflow_10@30"
515518
},
516519
{

package.nls.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"contributes.commands.java.view.package.changeToHierarchicalPackageView":"Hierarchical View",
1616
"contributes.commands.java.view.package.linkWithFolderExplorer":"Synchronize with Editor",
1717
"contributes.commands.java.view.package.unlinkWithFolderExplorer":"Desynchronize with Editor",
18-
"contributes.commands.java.project.explorer.configureFilters": "Configure Filters",
18+
"contributes.commands.java.project.explorer.showNonJavaResources": "Show Non-Java Resources",
19+
"contributes.commands.java.project.explorer.hideNonJavaResources": "Hide Non-Java Resources",
1920
"contributes.commands.java.view.package.revealFileInOS": "Reveal in Explorer",
2021
"contributes.commands.java.view.package.exportJar": "Export Jar...",
2122
"contributes.commands.java.view.package.copyFilePath": "Copy Path",
@@ -35,8 +36,7 @@
3536
"configuration.java.dependency.autoRefresh": "Synchronize Java Projects explorer with changes",
3637
"configuration.java.dependency.refreshDelay": "The delay time (ms) the auto refresh is invoked when changes are detected",
3738
"configuration.java.dependency.packagePresentation": "Package presentation mode: flat or hierarchical",
38-
"configuration.java.project.explorer.filters": "Filters for the Java Projects explorer.",
39-
"configuration.java.project.explorer.filters.nonJavaResources": "Specify whether non-Java resources will be filtered out.",
39+
"configuration.java.project.explorer.showNonJavaResources": "When enabled, the explorer shows non-Java resources.",
4040
"configuration.java.project.exportJar.targetPath.customization": "The output path of the exported jar. Leave it empty if you want to manually pick the output location.",
4141
"configuration.java.project.exportJar.targetPath.workspaceFolder": "Export the jar file into the workspace folder. Its name is the same as the folder's.",
4242
"configuration.java.project.exportJar.targetPath.select": "Select output location manually when exporting the jar file.",

package.nls.zh-cn.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"contributes.commands.java.view.package.changeToHierarchicalPackageView":"层级显示",
1616
"contributes.commands.java.view.package.linkWithFolderExplorer":"启用编辑器关联",
1717
"contributes.commands.java.view.package.unlinkWithFolderExplorer":"关闭编辑器关联",
18-
"contributes.commands.java.project.explorer.configureFilters": "设置过滤器",
18+
"contributes.commands.java.project.explorer.showNonJavaResources": "显示非 Java 资源",
19+
"contributes.commands.java.project.explorer.hideNonJavaResources": "隐藏非 Java 资源",
1920
"contributes.commands.java.view.package.revealFileInOS": "打开所在的文件夹",
2021
"contributes.commands.java.view.package.exportJar": "导出到 Jar 文件...",
2122
"contributes.commands.java.view.package.copyFilePath": "复制路径",
@@ -35,8 +36,7 @@
3536
"configuration.java.dependency.autoRefresh": "在 Java 项目管理器中自动同步修改",
3637
"configuration.java.dependency.refreshDelay": "控制 Java 项目管理器刷新的延迟时间 (毫秒)",
3738
"configuration.java.dependency.packagePresentation": "Java 包显示方式: 平行显示或者分层显示",
38-
"configuration.java.project.explorer.filters": "设置 Java 项目管理器要过滤的内容。",
39-
"configuration.java.project.explorer.filters.nonJavaResources": "是否需要过滤非 Java 资源。",
39+
"configuration.java.project.explorer.showNonJavaResources": "启用时 Java 项目管理器将显示非 Java 资源。",
4040
"configuration.java.project.exportJar.targetPath.customization": "导出 Jar 文件的路径。您可以将此选项置为空串来手动选择 jar 文件的导出路径。",
4141
"configuration.java.project.exportJar.targetPath.workspaceFolder": "导出 Jar 文件到工作空间文件夹下。Jar 文件的名称和工作空间文件夹的名称相同。",
4242
"configuration.java.project.exportJar.targetPath.select": "在导出 Jar 文件时手动选择输出目录。",

src/commands.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ export namespace Commands {
1818

1919
export const VIEW_PACKAGE_UNLINKWITHFOLDER = "java.view.package.unlinkWithFolderExplorer";
2020

21-
export const JAVA_PROJECT_EXPLORER_CONFIGURE_FILTERS = "java.project.explorer.configureFilters";
21+
export const JAVA_PROJECT_EXPLORER_SHOW_NONJAVA_RESOURCES = "java.project.explorer.showNonJavaResources";
22+
23+
export const JAVA_PROJECT_EXPLORER_HIDE_NONJAVA_RESOURCES = "java.project.explorer.hideNonJavaResources";
2224

2325
export const VIEW_PACKAGE_REFRESH = "java.view.package.refresh";
2426

src/settings.ts

+6-10
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export class Settings {
1717
if ((e.affectsConfiguration("java.dependency.syncWithFolderExplorer") && Settings.syncWithFolderExplorer()) ||
1818
e.affectsConfiguration("java.dependency.showMembers") ||
1919
e.affectsConfiguration("java.dependency.packagePresentation") ||
20-
e.affectsConfiguration("java.project.explorer.filters") ||
20+
e.affectsConfiguration("java.project.explorer.showNonJavaResources") ||
2121
e.affectsConfiguration("files.exclude")) {
2222
commands.executeCommand(Commands.VIEW_PACKAGE_INTERNAL_REFRESH);
2323
} else if (e.affectsConfiguration("java.dependency.autoRefresh")) {
@@ -60,9 +60,10 @@ export class Settings {
6060

6161
public static switchNonJavaResourceFilter(enabled: boolean): void {
6262
workspace.getConfiguration("java.project.explorer").update(
63-
"filters",
64-
{ nonJavaResources: enabled },
65-
ConfigurationTarget.Workspace);
63+
"showNonJavaResources",
64+
enabled,
65+
ConfigurationTarget.Workspace
66+
);
6667
}
6768

6869
public static updateReferencedLibraries(libraries: IReferencedLibraries): void {
@@ -116,8 +117,7 @@ export class Settings {
116117
* Get whether non-Java resources should be filtered in the explorer.
117118
*/
118119
public static nonJavaResourcesFiltered(): boolean {
119-
const filter: IExplorerFilter = workspace.getConfiguration("java.project.explorer").get<IExplorerFilter>("filters", {});
120-
return !!filter.nonJavaResources;
120+
return !workspace.getConfiguration("java.project.explorer").get<boolean>("showNonJavaResources", true);
121121
}
122122
}
123123

@@ -131,7 +131,3 @@ export interface IReferencedLibraries {
131131
exclude: string[];
132132
sources: { [binary: string]: string };
133133
}
134-
135-
interface IExplorerFilter {
136-
nonJavaResources?: boolean
137-
}

src/views/dependencyExplorer.ts

+5-17
Original file line numberDiff line numberDiff line change
@@ -90,23 +90,11 @@ export class DependencyExplorer implements Disposable {
9090

9191
this.reveal(uri, false /*force to reveal even the sync setting is turned off*/);
9292
}),
93-
instrumentOperationAsVsCodeCommand(Commands.JAVA_PROJECT_EXPLORER_CONFIGURE_FILTERS, async () => {
94-
const filters = await window.showQuickPick(
95-
[{
96-
label: "Non-Java resources",
97-
picked: Settings.nonJavaResourcesFiltered(),
98-
}],
99-
{
100-
placeHolder: "Select filters to apply to the Java Projects Explorer",
101-
canPickMany: true,
102-
ignoreFocusOut: true,
103-
}
104-
);
105-
if (!filters) {
106-
return;
107-
}
108-
109-
Settings.switchNonJavaResourceFilter(filters.some((filter) => filter.label === "Non-Java resources"));
93+
instrumentOperationAsVsCodeCommand(Commands.JAVA_PROJECT_EXPLORER_SHOW_NONJAVA_RESOURCES, async () => {
94+
Settings.switchNonJavaResourceFilter(true);
95+
}),
96+
instrumentOperationAsVsCodeCommand(Commands.JAVA_PROJECT_EXPLORER_HIDE_NONJAVA_RESOURCES, async () => {
97+
Settings.switchNonJavaResourceFilter(false);
11098
}),
11199
);
112100

test/maven-suite/projectView.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -243,10 +243,10 @@ suite("Maven Project View Tests", () => {
243243
assert.ok(!projectChildren.find((node: DataNode) => node.nodeData.name === ".hidden"));
244244
});
245245

246-
test("Can apply 'java.project.explorer.filters.nonJavaResources'", async function() {
246+
test("Can apply 'java.project.explorer.showNonJavaResources'", async function() {
247247
await vscode.workspace.getConfiguration("java.project.explorer").update(
248-
"filters",
249-
{ nonJavaResources:true }
248+
"showNonJavaResources",
249+
false
250250
);
251251
const explorer = DependencyExplorer.getInstance(contextManager.context);
252252

0 commit comments

Comments
 (0)