From aa706d785ba7a51f271ec7d4988d9c13ef1a4057 Mon Sep 17 00:00:00 2001 From: Zhengbo Li Date: Tue, 10 Jan 2017 17:28:05 -0800 Subject: [PATCH 1/2] Support import fix for missing namespace as well --- src/services/codefixes/importFixes.ts | 1 + .../fourslash/importNameCodeFixNewImportFile3.ts | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 tests/cases/fourslash/importNameCodeFixNewImportFile3.ts diff --git a/src/services/codefixes/importFixes.ts b/src/services/codefixes/importFixes.ts index 3627d60492ddf..3aefcf994e9cd 100644 --- a/src/services/codefixes/importFixes.ts +++ b/src/services/codefixes/importFixes.ts @@ -114,6 +114,7 @@ namespace ts.codefix { registerCodeFix({ errorCodes: [ Diagnostics.Cannot_find_name_0.code, + Diagnostics.Cannot_find_namespace_0.code, Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code ], getCodeActions: (context: CodeFixContext) => { diff --git a/tests/cases/fourslash/importNameCodeFixNewImportFile3.ts b/tests/cases/fourslash/importNameCodeFixNewImportFile3.ts new file mode 100644 index 0000000000000..af7901e03e61c --- /dev/null +++ b/tests/cases/fourslash/importNameCodeFixNewImportFile3.ts @@ -0,0 +1,15 @@ +/// + +//// [|let t: XXX/*0*/.I;|] + +// @Filename: ./module.ts +//// export module XXX { +//// export interface I { +//// } +//// } + +verify.importFixAtPosition([ +`import { XXX } from "./module"; + +let t: XXX.I;` +]); \ No newline at end of file From e532744f16bb79f114ea0899262a78df7610e8d8 Mon Sep 17 00:00:00 2001 From: zhengbli Date: Thu, 2 Feb 2017 14:14:40 -0800 Subject: [PATCH 2/2] Add test case for nested namespace --- .../fourslash/importNameCodeFixNewImportFile4.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 tests/cases/fourslash/importNameCodeFixNewImportFile4.ts diff --git a/tests/cases/fourslash/importNameCodeFixNewImportFile4.ts b/tests/cases/fourslash/importNameCodeFixNewImportFile4.ts new file mode 100644 index 0000000000000..62cf48c4977b9 --- /dev/null +++ b/tests/cases/fourslash/importNameCodeFixNewImportFile4.ts @@ -0,0 +1,16 @@ +/// + +//// [|let t: A/*0*/.B.I;|] + +// @Filename: ./module.ts +//// export namespace A { +//// export namespace B { +//// export interface I { } +//// } +//// } + +verify.importFixAtPosition([ +`import { A } from "./module"; + +let t: A.B.I;` +]); \ No newline at end of file