register tree view

This commit is contained in:
锦恢 2023-04-12 01:34:33 +08:00
parent 0fb86a70a1
commit a246fbdebe
6 changed files with 208 additions and 40 deletions

View File

@ -167,15 +167,118 @@
"light": "images/svg/light/debug.svg", "light": "images/svg/light/debug.svg",
"dark": "images/svg/dark/debug.svg" "dark": "images/svg/dark/debug.svg"
} }
},
{
"command": "digital-ide.treeView.arch.expand",
"category": "tool",
"icon": "$(expand-all)",
"title": "%digital-ide.treeView.arch.expand.title%"
},
{
"command": "digital-ide.treeView.arch.collapse",
"category": "tool",
"icon": "$(collapse-all)",
"title": "%digital-ide.treeView.arch.collapse.title%"
},
{
"command": "digital-ide.treeView.arch.refresh",
"category": "tool",
"icon": "$(refresh)",
"title": "%digital-ide.treeView.arch.refresh.title%"
},
{
"command": "digital-ide.treeView.arch.openFile",
"category": "tool",
"title": "%digital-ide.treeView.arch.openFile.title%"
},
{
"command": "digital-ide.tool.tool.clean",
"category": "tool",
"title": "%digital-ide.tool.tool.clean.title%"
},
{
"command": "digital-ide.soft.launch",
"category": "tool",
"title": "%digital-ide.soft.launch.title%"
},
{
"command": "digital-ide.soft.build",
"category": "tool",
"title": "%digital-ide.soft.build.title%"
},
{
"command": "digital-ide.soft.download",
"category": "tool",
"title": "%digital-ide.soft.download.title%"
},
{
"command": "digital-ide.hard.launch",
"category": "tool",
"title": "%digital-ide.hard.launch.title%"
},
{
"command": "digital-ide.hard.simulate",
"category": "tool",
"title": "%digital-ide.hard.simulate.title%"
},
{
"command": "digital-ide.hard.simulate.cli",
"category": "tool",
"title": "%digital-ide.hard.simulate.cli.title%"
},
{
"command": "digital-ide.hard.simulate.gui",
"category": "tool",
"title": "%digital-ide.hard.simulate.gui.title%"
},
{
"command": "digital-ide.hard.refresh",
"category": "tool",
"title": "%digital-ide.hard.refresh.title%"
},
{
"command": "digital-ide.hard.build",
"category": "tool",
"title": "%digital-ide.hard.build.title%"
},
{
"command": "digital-ide.hard.build.synth",
"category": "tool",
"title": "%digital-ide.hard.build.synth.title%"
},
{
"command": "digital-ide.hard.build.impl",
"category": "tool",
"title": "%digital-ide.hard.build.impl.title%"
},
{
"command": "digital-ide.hard.build.bitstream",
"category": "tool",
"title": "%digital-ide.hard.build.bitstream.title%"
},
{
"command": "digital-ide.hard.program",
"category": "tool",
"title": "%digital-ide.hard.program.title%"
},
{
"command": "digital-ide.hard.gui",
"category": "tool",
"title": "%digital-ide.hard.gui.title%"
},
{
"command": "digital-ide.hard.exit",
"category": "tool",
"title": "%digital-ide.hard.exit.title%"
} }
], ],
"menus": { "menus": {
"editor/title": [ "editor/title": [
{ {
"when": "editorLangId == verilog || editorLangId == systemverilog || editorLangId == vhdl", "when": "editorLangId == verilog || editorLangId == systemverilog || editorLangId == vhdl",
"command": "digital-ide.tool.icarus.simulateFile", "command": "digital-ide.tool.icarus.simulateFile",
"group": "navigation@1" "group": "navigation@1"
}, },
{ {
"when": "editorLangId == verilog || editorLangId == systemverilog || editorLangId == vhdl", "when": "editorLangId == verilog || editorLangId == systemverilog || editorLangId == vhdl",
"command": "digital-ide.hdlDoc.showWebview", "command": "digital-ide.hdlDoc.showWebview",
@ -286,11 +389,11 @@
"configuration": "./config/link.configuration.json" "configuration": "./config/link.configuration.json"
}, },
{ {
"id": "digital-ide-output", "id": "digital-ide-output",
"mimetypes": [ "mimetypes": [
"text/x-code-output" "text/x-code-output"
] ]
} }
], ],
"jsonValidation": [ "jsonValidation": [
{ {
@ -330,10 +433,10 @@
"path": "./syntaxes/systemverilog.json" "path": "./syntaxes/systemverilog.json"
}, },
{ {
"language": "digital-ide-output", "language": "digital-ide-output",
"scopeName": "digital-ide.output", "scopeName": "digital-ide.output",
"path": "./syntaxes/digital-ide-output.json" "path": "./syntaxes/digital-ide-output.json"
} }
], ],
"snippets": [ "snippets": [
{ {

View File

@ -1,10 +1,30 @@
{ {
"digital-ide.property-json.generate.title": "generate property.json", "digital-ide.property-json.generate.title": "Generate property.json",
"digital-ide.property-json.overwrite.title": "overwrite property.json template", "digital-ide.property-json.overwrite.title": "Overwrite property.json template",
"digital-ide.hdlDoc.exportFile.title": "export the document of current file", "digital-ide.hdlDoc.exportFile.title": "Export the document of current file",
"digital-ide.hdlDoc.exportProject.title": "export the document of current project", "digital-ide.hdlDoc.exportProject.title": "Export the document of current project",
"digital-ide.hdlDoc.showWebview.title": "show the document of current file in a webview", "digital-ide.hdlDoc.showWebview.title": "Show the document of current file in a webview",
"digital-ide.tool.instance.title": "generate instance template from selected module", "digital-ide.tool.instance.title": "Generate instance template from selected module",
"digital-ide.tool.testbench.title": "generate testbench template from current file", "digital-ide.tool.testbench.title": "Generate testbench template from current file",
"digital-ide.tool.icarus.simulateFile.title": "do simulation for current file" "digital-ide.tool.icarus.simulateFile.title": "Do simulation for current file",
"digital-ide.treeView.arch.expand.title": "expand all the items in tree view",
"digital-ide.treeView.arch.collapse.title": "collapse all the items in tree view",
"digital-ide.treeView.arch.refresh.title": "refresh the tree view",
"digital-ide.treeView.arch.openFile.title": "Open the corresponding file in tree view",
"digital-ide.tool.tool.clean.title": "Clean the current project",
"digital-ide.soft.launch.title": "Launch SDK development assist function",
"digital-ide.soft.build.title": "Build the current SDK project",
"digital-ide.soft.download.title": "Download the boot file into the device",
"digital-ide.hard.launch.title": "Launch FPGA development assist function",
"digital-ide.hard.simulate.title": "Launch the manufacturer Simulation",
"digital-ide.hard.simulate.cli.title": "Launch the manufacturer Simulation in CLI",
"digital-ide.hard.simulate.gui.title": "Launch the manufacturer Simulation in GUI",
"digital-ide.hard.refresh.title": "Refresh the current project file",
"digital-ide.hard.build.title": "Build the current fpga project",
"digital-ide.hard.build.synth.title": "Synth the current project",
"digital-ide.hard.build.impl.title": "Impl the current project",
"digital-ide.hard.build.bitstream.title": "Generate the BIT File",
"digital-ide.hard.program.title": "Download the bit file into the device",
"digital-ide.hard.gui.title": "Open the GUI",
"digital-ide.hard.exit.title": "Exit the current project"
} }

View File

@ -6,5 +6,25 @@
"digital-ide.hdlDoc.showWebview.title": "在 webview 中展示文档", "digital-ide.hdlDoc.showWebview.title": "在 webview 中展示文档",
"digital-ide.tool.instance.title": "生成选中 module 的例化模板", "digital-ide.tool.instance.title": "生成选中 module 的例化模板",
"digital-ide.tool.testbench.title": "从当前文件中选择 module 生成 testbench", "digital-ide.tool.testbench.title": "从当前文件中选择 module 生成 testbench",
"digital-ide.tool.icarus.simulateFile.title": "对当前文件进行仿真" "digital-ide.tool.icarus.simulateFile.title": "对当前文件进行仿真",
"digital-ide.treeView.arch.expand.title": "",
"digital-ide.treeView.arch.collapse.title": "",
"digital-ide.treeView.arch.refresh.title": "",
"digital-ide.treeView.arch.openFile.title": "",
"digital-ide.tool.tool.clean.title": "",
"digital-ide.soft.launch.title": "",
"digital-ide.soft.build.title": "",
"digital-ide.soft.download.title": "",
"digital-ide.hard.launch.title": "",
"digital-ide.hard.simulate.title": "",
"digital-ide.hard.simulate.cli.title": "",
"digital-ide.hard.simulate.gui.title": "",
"digital-ide.hard.refresh.title": "",
"digital-ide.hard.build.title": "",
"digital-ide.hard.build.synth.title": "",
"digital-ide.hard.build.impl.title": "",
"digital-ide.hard.build.bitstream.title": "",
"digital-ide.hard.program.title": "",
"digital-ide.hard.gui.title": "",
"digital-ide.hard.exit.title": ""
} }

View File

@ -6,5 +6,25 @@
"digital-ide.hdlDoc.showWebview.title": "", "digital-ide.hdlDoc.showWebview.title": "",
"digital-ide.tool.instance.title": "", "digital-ide.tool.instance.title": "",
"digital-ide.tool.testbench.title": "", "digital-ide.tool.testbench.title": "",
"digital-ide.tool.icarus.simulateFile.title": "" "digital-ide.tool.icarus.simulateFile.title": "",
"digital-ide.treeView.arch.expand.title": "",
"digital-ide.treeView.arch.collapse.title": "",
"digital-ide.treeView.arch.refresh.title": "",
"digital-ide.treeView.arch.openFile.title": "",
"digital-ide.tool.tool.clean.title": "",
"digital-ide.soft.launch.title": "",
"digital-ide.soft.build.title": "",
"digital-ide.soft.download.title": "",
"digital-ide.hard.launch.title": "",
"digital-ide.hard.simulate.title": "",
"digital-ide.hard.simulate.cli.title": "",
"digital-ide.hard.simulate.gui.title": "",
"digital-ide.hard.refresh.title": "",
"digital-ide.hard.build.title": "",
"digital-ide.hard.build.synth.title": "",
"digital-ide.hard.build.impl.title": "",
"digital-ide.hard.build.bitstream.title": "",
"digital-ide.hard.program.title": "",
"digital-ide.hard.gui.title": "",
"digital-ide.hard.exit.title": ""
} }

View File

@ -33,6 +33,11 @@ function registerTreeView(context: vscode.ExtensionContext) {
// constant used in tree // constant used in tree
vscode.commands.executeCommand('setContext', 'TOOL-tree-expand', false); vscode.commands.executeCommand('setContext', 'TOOL-tree-expand', false);
// register command in tree
vscode.commands.registerCommand('digital-ide.treeView.arch.expand', treeView.expandTreeView);
vscode.commands.registerCommand('digital-ide.treeView.arch.collapse', treeView.collapseTreeView);
vscode.commands.registerCommand('digital-ide.treeView.arch.refresh', treeView.refreshArchTree);
vscode.commands.registerCommand('digital-ide.treeView.arch.openFile', treeView.openFileByUri);
} }

View File

@ -77,66 +77,66 @@ class HardwareTreeProvider extends BaseCommandTreeProvider {
constructor() { constructor() {
const config: CommandConfig = { const config: CommandConfig = {
Launch: { Launch: {
cmd: 'HARD.Launch', cmd: 'digital-ide.hard.launch',
icon: 'cmd', icon: 'cmd',
tip: 'Launch FPGA development assist function' tip: 'Launch FPGA development assist function'
}, },
Simulate: { Simulate: {
cmd: 'HARD.Simulate', cmd: 'digital-ide.hard.simulate',
icon: 'toolBox', icon: 'toolBox',
tip: 'Launch the manufacturer Simulation', tip: 'Launch the manufacturer Simulation',
children: { children: {
CLI: { CLI: {
cmd: 'HARD.simCLI', cmd: 'digital-ide.hard.simulate.cli',
icon: 'branch', icon: 'branch',
tip: 'Launch the manufacturer Simulation in CLI' tip: 'Launch the manufacturer Simulation in CLI'
}, },
GUI: { GUI: {
cmd: 'HARD.simGUI', cmd: 'digital-ide.hard.simulate.gui',
icon: 'branch', icon: 'branch',
tip: 'Launch the manufacturer Simulation in GUI' tip: 'Launch the manufacturer Simulation in GUI'
}, },
} }
}, },
Refresh: { Refresh: {
cmd: 'HARD.Refresh', cmd: 'digital-ide.hard.refresh',
icon: 'cmd', icon: 'cmd',
tip: 'Refresh the current project file' tip: 'Refresh the current project file'
}, },
Build: { Build: {
cmd: 'HARD.Build', cmd: 'digital-ide.hard.build',
icon: 'toolBox', icon: 'toolBox',
tip: 'Build the current fpga project', tip: 'Build the current fpga project',
children: { children: {
Synth: { Synth: {
cmd: 'HARD.Synth', cmd: 'digital-ide.hard.build.synth',
icon: 'branch', icon: 'branch',
tip: 'Synth the current project' tip: 'Synth the current project'
}, },
Impl: { Impl: {
cmd: 'HARD.Impl', cmd: 'digital-ide.hard.build.impl',
icon: 'branch', icon: 'branch',
tip: 'Impl the current project' tip: 'Impl the current project'
}, },
BitStream: { BitStream: {
cmd: 'HARD.Bit', cmd: 'digital-ide.hard.build.bitstream',
icon: 'branch', icon: 'branch',
tip: 'Generate the BIT File' tip: 'Generate the BIT File'
}, },
} }
}, },
Program: { Program: {
cmd: 'HARD.Program', cmd: 'digital-ide.hard.program',
icon: 'cmd', icon: 'cmd',
tip: 'Download the bit file into the device' tip: 'Download the bit file into the device'
}, },
GUI: { GUI: {
cmd: 'HARD.GUI', cmd: 'digital-ide.hard.gui',
icon: 'cmd', icon: 'cmd',
tip: 'Open the GUI' tip: 'Open the GUI'
}, },
Exit: { Exit: {
cmd: 'HARD.Exit', cmd: 'digital-ide.hard.exit',
icon: 'cmd', icon: 'cmd',
tip: 'Exit the current project' tip: 'Exit the current project'
} }
@ -150,17 +150,17 @@ class SoftwareTreeProvider extends BaseCommandTreeProvider {
constructor() { constructor() {
const config: CommandConfig = { const config: CommandConfig = {
Launch: { Launch: {
cmd: 'SOFT.Launch', cmd: 'digital-ide.soft.launch',
icon: 'cmd', icon: 'cmd',
tip: 'Launch SDK development assist function' tip: 'Launch SDK development assist function'
}, },
Build: { Build: {
cmd: 'SOFT.Launch', cmd: 'digital-ide.soft.build',
icon: 'cmd', icon: 'cmd',
tip: 'Build the current SDK project' tip: 'Build the current SDK project'
}, },
Download: { Download: {
cmd: 'SOFT.Launch', cmd: 'digital-ide.soft.download',
icon: 'cmd', icon: 'cmd',
tip: 'Download the boot file into the device' tip: 'Download the boot file into the device'
}, },
@ -174,7 +174,7 @@ class ToolTreeProvider extends BaseCommandTreeProvider {
constructor() { constructor() {
const config: CommandConfig = { const config: CommandConfig = {
Clean: { Clean: {
cmd: 'TOOL.Clean', cmd: 'digital-ide.tool.tool.clean',
icon: 'clean', icon: 'clean',
tip: 'Clean the current project' tip: 'Clean the current project'
} }