diff --git a/resources/netlist/view/netlist_viewer.html b/resources/netlist/view/netlist_viewer.html index 59ab18e..1e67086 100644 --- a/resources/netlist/view/netlist_viewer.html +++ b/resources/netlist/view/netlist_viewer.html @@ -166,8 +166,8 @@ const message = event.data; const command = message.command; const netlist = JSON.parse(message.netlist); - console.log(typeof netlist); - console.log(netlist); + // console.log(typeof netlist); + // console.log(netlist); switch (command) { case 'netlist' : diff --git a/src/extension.ts b/src/extension.ts index e4c1a69..a5d7146 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -8,6 +8,7 @@ import { hdlMonitor } from './monitor'; import { extensionUrl } from '../resources/hdlParser'; import * as lspClient from './function/lsp-client'; +import { refreshArchTree } from './function/treeView'; @@ -37,9 +38,15 @@ async function launch(context: vscode.ExtensionContext) { location: vscode.ProgressLocation.Window, title: 'Initialization (Digtial-IDE)' }, async () => { + // 初始化解析 await manager.prjManage.initialise(context); + + // 这里是因为 pl 对象在 initialise 完成初始化,此处再注册它的行为 manager.registerManagerCommands(context); + // 刷新结构树 + refreshArchTree(); + hdlMonitor.start(); }); diff --git a/src/function/lsp/util/feature.ts b/src/function/lsp/util/feature.ts index d278616..055aabf 100644 --- a/src/function/lsp/util/feature.ts +++ b/src/function/lsp/util/feature.ts @@ -128,7 +128,7 @@ function bin2float(bin: string, exp: number, fra: number): number | undefined { function getFullSymbolInfoVlog(document: vscode.TextDocument, range: Range) { const comments = []; - const currentLine = range.start.line; + const currentLine = range.start.line - 1; const currentText = document.lineAt(currentLine).text; // 往上找到第一个非空行 @@ -203,8 +203,6 @@ function getFullSymbolInfoVlog(document: vscode.TextDocument, range: Range) { } } - - // 情况 2.1:单行注释 if (currentText.includes('//')) { const singleLineCommentStartIndex = currentText.indexOf('//'); @@ -262,8 +260,8 @@ async function getFullSymbolInfo(document: vscode.TextDocument, range: Range, no if (document.languageId !== 'vhdl') { comments.push(...getFullSymbolInfoVlog(document, range)); let resultComment = ''; - for (const c of comments.reverse()) { - resultComment += c.trim() + '\n'; + for (const c of comments) { + resultComment += c.trim() + '
'; } return resultComment; diff --git a/src/global/lsp.ts b/src/global/lsp.ts index ceb7cba..329fe0e 100644 --- a/src/global/lsp.ts +++ b/src/global/lsp.ts @@ -23,7 +23,7 @@ export const LspClient: IDigitalIDELspClient = { */ export const CustomRequestType = new RequestType('custom/request'); export const CustomParamRequestType = new RequestType('custom/paramRequest'); -export const DoFastRequestType = new RequestType('api/fast'); +export const DoFastRequestType = new RequestType('api/fast'); export interface ITextDocumentItem { uri: vscode.Uri, @@ -37,5 +37,5 @@ export interface ICommonParam { } export interface IDoFastParam { - + path: string } \ No newline at end of file diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index 441f827..8e57d7b 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -525,10 +525,6 @@ class HdlModule { } public makeNameToInstances() { - if (this.name === 'u_reg_cfg') { - console.log('[u_reg_cfg debug]'); - console.log(this.rawInstances); - } if (this.rawInstances !== undefined) { this.nameToInstances.clear(); for (const inst of this.rawInstances) { diff --git a/src/hdlParser/util.ts b/src/hdlParser/util.ts index 30e8e28..684f400 100644 --- a/src/hdlParser/util.ts +++ b/src/hdlParser/util.ts @@ -11,20 +11,9 @@ async function doFastApi(path: string): Promise { const client = LspClient.MainClient; const langID = hdlFile.getLanguageId(path); if (client) { - const response = await client.sendRequest(DoFastRequestType, { path }) as { fast: any }; - if (response.fast instanceof Array) { - const rawModules = response.fast as RawHdlModule[]; - return { - content: rawModules, - languageId: langID, - macro: { - errors: [], - defines: [], - includes: [], - invalid: [] - } - }; - } + const response = await client.sendRequest(DoFastRequestType, { path }); + response.languageId = langID; + return response; } } catch (error) { console.error("error happen when run doFastApi, " + error);