Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion images/dark/icon-flat.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 1 addition & 5 deletions images/dark/icon-hierarchical.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions images/dark/icon-link.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions images/dark/icon-unlink.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions images/light/icon-flat.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion images/light/icon-hierarchical.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions images/light/icon-link.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 17 additions & 0 deletions images/light/icon-unlink.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 46 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,40 @@
}
},
{
"command": "java.view.package.changeRepresentation",
"title": "%contributes.commands.java.view.package.changeRepresentation%",
"command": "java.view.package.changeToHierarchicalPackageView",
"title": "%contributes.commands.java.view.package.changeToHierarchicalPackageView%",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we merge these two commands as one? And dynamically change the icon?

"category": "Java",
"icon": {
"dark": "images/dark/icon-hierarchical.svg",
"light": "images/light/icon-hierarchical.svg"
}
},
{
"command": "java.view.package.changeToFlatPackageView",
"title": "%contributes.commands.java.view.package.changeToFlatPackageView%",
"category": "Java",
"icon": {
"dark": "images/dark/icon-flat.svg",
"light": "images/light/icon-flat.svg"
}
},
{
"command": "java.view.package.syncWithFolderExplorer",
"title": "%contributes.commands.java.view.package.syncWithFolderExplorer%",
"category": "Java",
"icon": {
"dark": "images/dark/icon-unlink.svg",
"light": "images/light/icon-unlink.svg"
}
},
{
"command": "java.view.package.desyncWithFolderExplorer",
"title": "%contributes.commands.java.view.package.desyncWithFolderExplorer%",
"category": "Java",
"icon": {
"dark": "images/dark/icon-link.svg",
"light": "images/light/icon-link.svg"
}
}
],
"configuration": {
Expand Down Expand Up @@ -88,11 +115,26 @@
{
"command": "java.view.package.refresh",
"when": "view == javaDependencyExplorer",
"group": "navigation@2"
},
{
"command": "java.view.package.changeToHierarchicalPackageView",
"when": "view == javaDependencyExplorer && config.java.dependency.packagePresentation == flat",
"group": "navigation@1"
},
{
"command": "java.view.package.changeRepresentation",
"when": "view == javaDependencyExplorer",
"command": "java.view.package.changeToFlatPackageView",
"when": "view == javaDependencyExplorer && config.java.dependency.packagePresentation != flat",
"group": "navigation@1"
},
{
"command": "java.view.package.syncWithFolderExplorer",
"when": "view == javaDependencyExplorer && config.java.dependency.syncWithFolderExplorer != true",
"group": "navigation@0"
},
{
"command": "java.view.package.desyncWithFolderExplorer",
"when": "view == javaDependencyExplorer && config.java.dependency.syncWithFolderExplorer == true",
"group": "navigation@0"
}
]
Expand Down
6 changes: 5 additions & 1 deletion package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
"contributes.commands.java.project.create": "Create Java Project",
"contributes.commands.java.view.package.refresh": "Refresh",
"contributes.commands.java.view.package.changeRepresentation": "Change package representation",
"contributes.commands.java.view.package.changeToFlatPackageView":"Change to flat package representation",
"contributes.commands.java.view.package.changeToHierarchicalPackageView":"Change to hierarchical package representation",
"contributes.commands.java.view.package.syncWithFolderExplorer":"Synchronize dependency viewer selection with folder explorer",
"contributes.commands.java.view.package.desyncWithFolderExplorer":"Desynchronize dependency viewer selection with folder explorer",
"configuration.java.dependency.title": "Java Dependency Configuration",
"configuration.java.dependency.showOutline": "Enable show outline in the Java Dependency explorer",
"configuration.java.dependency.syncWithFolderExplorer": "Synchronize dependency viewer selection with folder explorer",
"configuration.java.dependency.packagePresentation": "Package presentation mode: flat or hierarchical"
}
}
6 changes: 5 additions & 1 deletion package.nls.zh.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
"contributes.commands.java.project.create": "创建 Java 项目",
"contributes.commands.java.view.package.refresh": "刷新",
"contributes.commands.java.view.package.changeRepresentation": "更改包展示形式",
"contributes.commands.java.view.package.changeToFlatPackageView":"将 Java 包显示方式切换为平行显示",
"contributes.commands.java.view.package.changeToHierarchicalPackageView":"将 Java 包显示方式切换为分层显示",
"contributes.commands.java.view.package.syncWithFolderExplorer":"开启 Java 依赖项资源管理器与当前浏览文件的关联",
"contributes.commands.java.view.package.desyncWithFolderExplorer":"关闭 Java 依赖项资源管理器与当前浏览文件的关联",
"configuration.java.dependency.title": "Java 依赖管理配置",
"configuration.java.dependency.showOutline": "在 Java 依赖项资源管理器中显示类成员大纲",
"configuration.java.dependency.syncWithFolderExplorer": "在 Java 依赖项资源管理器中同步关联当前打开的文件",
"configuration.java.dependency.packagePresentation": "Java 包显示方式: 平行显示或者分层显示"
}
}
9 changes: 8 additions & 1 deletion src/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,13 @@ export namespace Commands {
*/
export const EXECUTE_WORKSPACE_COMMAND = "java.execute.workspaceCommand";

export const VIEW_PACKAGE_CHANGEREPRESENTATION = "java.view.package.changeRepresentation";
export const VIEW_PACKAGE_CHANGETOFLATPACKAGEVIEW = "java.view.package.changeToFlatPackageView";

export const VIEW_PACKAGE_CHANGETOHIERARCHICALPACKAGEVIEW = "java.view.package.changeToHierarchicalPackageView";

export const VIEW_PACKAGE_SYNCWITHFOLDER = "java.view.package.syncWithFolderExplorer";

export const VIEW_PACKAGE_DESYNCWITHFOLDER = "java.view.package.desyncWithFolderExplorer";

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

Expand All @@ -25,4 +31,5 @@ export namespace Commands {
export const JAVA_GETPACKAGEDATA = "java.getPackageData";

export const JAVA_RESOLVEPATH = "java.resolvePath";

}
49 changes: 36 additions & 13 deletions src/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,36 +13,59 @@ export class Settings {
return;
}
const updatedConfig = workspace.getConfiguration("java.dependency");
if (updatedConfig.showOutline !== this._depdendencyConfig.showOutline
|| updatedConfig.packagePresentation !== this._depdendencyConfig.packagePresentation) {
if (updatedConfig.showOutline !== this._dependencyConfig.showOutline
|| updatedConfig.packagePresentation !== this._dependencyConfig.packagePresentation
|| (updatedConfig.syncWithFolderExplorer !== this._dependencyConfig.syncWithFolderExplorer
&& updatedConfig.syncWithFolderExplorer)) {
this._dependencyConfig = updatedConfig;
commands.executeCommand(Commands.VIEW_PACKAGE_REFRESH);
} else {
this._dependencyConfig = updatedConfig;
}
this._depdendencyConfig = updatedConfig;

}));

const instrumented = instrumentOperation(Commands.VIEW_PACKAGE_CHANGEREPRESENTATION, Settings.changePackageRepresentation);
context.subscriptions.push(commands.registerCommand(Commands.VIEW_PACKAGE_CHANGEREPRESENTATION, instrumented));
context.subscriptions.push(commands.registerCommand(Commands.VIEW_PACKAGE_SYNCWITHFOLDER,
instrumentOperation(Commands.VIEW_PACKAGE_SYNCWITHFOLDER, Settings.syncWithFolderCommand)));

context.subscriptions.push(commands.registerCommand(Commands.VIEW_PACKAGE_DESYNCWITHFOLDER,
instrumentOperation(Commands.VIEW_PACKAGE_DESYNCWITHFOLDER, Settings.desyncWithFolderCommand)));

context.subscriptions.push(commands.registerCommand(Commands.VIEW_PACKAGE_CHANGETOFLATPACKAGEVIEW,
instrumentOperation(Commands.VIEW_PACKAGE_CHANGETOFLATPACKAGEVIEW, Settings.changeToFlatPackageView)));

context.subscriptions.push(commands.registerCommand(Commands.VIEW_PACKAGE_CHANGETOHIERARCHICALPACKAGEVIEW,
instrumentOperation(Commands.VIEW_PACKAGE_CHANGETOHIERARCHICALPACKAGEVIEW, Settings.changeToHierarchicalPackageView)));
}

public static syncWithFolderCommand(): void {
workspace.getConfiguration().update("java.dependency.syncWithFolderExplorer", true, false);
}

public static desyncWithFolderCommand(): void {
workspace.getConfiguration().update("java.dependency.syncWithFolderExplorer", false, false);
}

public static changeToFlatPackageView(): void {
workspace.getConfiguration().update("java.dependency.packagePresentation", PackagePresentation.Flat, false);
}

public static changePackageRepresentation(): void {
const representationSetting = Settings.isHierarchicalView() ? PackagePresentation.Flat : PackagePresentation.Hierarchical;
workspace.getConfiguration().update("java.dependency.packagePresentation", representationSetting, false);
public static changeToHierarchicalPackageView(): void {
workspace.getConfiguration().update("java.dependency.packagePresentation", PackagePresentation.Hierarchical, false);
}

public static showOutline(): boolean {
return this._depdendencyConfig.get("showOutline");
return this._dependencyConfig.get("showOutline");
}

public static syncWithFolderExplorer(): boolean {
return this._depdendencyConfig.get("syncWithFolderExplorer");
return this._dependencyConfig.get("syncWithFolderExplorer");
}

public static isHierarchicalView(): boolean {
return this._depdendencyConfig.get("packagePresentation") === PackagePresentation.Hierarchical;
return this._dependencyConfig.get("packagePresentation") === PackagePresentation.Hierarchical;
}

private static _depdendencyConfig: WorkspaceConfiguration = workspace.getConfiguration("java.dependency");
private static _dependencyConfig: WorkspaceConfiguration = workspace.getConfiguration("java.dependency");
}

enum PackagePresentation {
Expand Down
2 changes: 1 addition & 1 deletion src/views/dependencyExplorer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export class DependencyExplorer {
});

this._dataProvider.onDidChangeTreeData(() => {
if (window.activeTextEditor) {
if (window.activeTextEditor && Settings.syncWithFolderExplorer()) {
this.reveal(window.activeTextEditor.document.uri);
}
});
Expand Down