Typescript: GetCodeFixes & CompletionEntryDetail рдХреЗ рд╕рд╛рде рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рд╕рдВрдкрддреНрддрд┐ 'рд▓рдВрдмрд╛рдИ' рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдЕрдХреНрддреВре░ 2017  ┬╖  1рдЯрд┐рдкреНрдкрдгреА  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг: 2.6.0-dev.20171018

рдХреЛрдб

рдЗрд╕ рддрд░рд╣ a.ts рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:

export const PI = 3.14;

рдЗрд╕ рддрд░рд╣ рдПрдХ b.ts рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:

PI

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░:

  • рдЬрдм рдЖрдк PI (b.ts) рдХреЗ рд▓рд┐рдП getCodeFixes рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕реЗ import code fixes рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдЬрдм рдЖрдк PI (b.ts), ComplentionEntryDetail рдмрд╛рдж рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдХреЛрдб рдПрдХреНрд╢рди, рдбрд┐рдЯреЗрд▓ рдЗрддреНрдпрд╛рджрд┐ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдВ

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░:

2 рдХреЙрд▓ getCodeFixes , ComplentionEntryDetail Error processing request. Cannot read property 'length' of undefined рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ

{
    "seq": 0,
    "type": "response",
    "command": "getCodeFixes",
    "request_seq": 640,
    "success": false,
    "message": "Error processing request. Cannot read property 'length' of undefined\nTypeError: Cannot read property 'length' of undefined\n    at Object.firstDefined (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:1322:34)\n    at tryGetModuleNameFromTypeRoots (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:76001:23)\n    at getModuleSpecifierForNewImport (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:75943:17)\n    at getCodeActionForAddImport (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:76131:20)\n    at getCodeActionForImport (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:75869:26)\n    at C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:76221:60\n    at forEachExternalModule (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:76238:21)\n    at getActionsForNonUMDImport (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:76205:13)\n    at Object.getImportCodeActions [as getCodeActions] (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:76180:19)\n    at C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:74963:33\n    at Object.forEach (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:1312:30)\n    at Object.getFixes (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:74962:16)\n    at C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:80069:35\n    at Object.flatMap (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:1550:25)\n    at Object.getCodeFixesAtPosition (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:80067:23)\n    at IOSession.Session.getCodeFixes (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:86471:64)\n    at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:85384:61)\n    at C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:86625:88\n    at IOSession.Session.executeWithRequestId (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:86616:28)\n    at IOSession.Session.executeCommand (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:86625:33)\n    at IOSession.Session.onMessage (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:86645:35)\n    at Interface.<anonymous> (C:\\Users\\azerr\\WS2\\___aa\\node_modules\\typescript\\lib\\tsserver.js:87818:27)\n    at emitOne (events.js:96:13)\n    at Interface.emit (events.js:188:7)\n    at Interface._onLine (readline.js:239:10)\n    at Interface.<anonymous> (readline.js:376:12)\n    at Array.forEach (native)\n    at Interface._normalWrite (readline.js:375:11)\n    at Socket.ondata (readline.js:107:10)\n    at emitOne (events.js:96:13)\n    at Socket.emit (events.js:188:7)\n    at readableAddChunk (_stream_readable.js:176:18)\n    at Socket.Readable.push (_stream_readable.js:134:10)\n    at Pipe.onread (net.js:548:20)"
}

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @ andy-ms @mhegazy !

рдЕрдм typecript.java рдСрдЯреЛ рдЖрдпрд╛рдд рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЕрджреНрднреБрдд рд╣реИ!

autoimportdemo

>рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @ andy-ms @mhegazy !

рдЕрдм typecript.java рдСрдЯреЛ рдЖрдпрд╛рдд рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЕрджреНрднреБрдд рд╣реИ!

autoimportdemo

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕