浏览代码

Merge pull request #2112 from KapitanOczywisty/javascriptDefaults

Update example: allow peek definition
Alexandru Dima 4 年之前
父节点
当前提交
45279f68e2

+ 2 - 0
gulpfile.js

@@ -816,6 +816,8 @@ function createSimpleServer(rootDir, port) {
 	});
 }
 
+gulp.task('generate-test-samples', taskSeries(generateTestSamplesTask));
+
 gulp.task('simpleserver', taskSeries(generateTestSamplesTask, function() {
 	const SERVER_ROOT = path.normalize(path.join(__dirname, '../'));
 	createSimpleServer(SERVER_ROOT, 8080);

+ 14 - 9
test/playground.generated/extending-language-services-configure-javascript-defaults.html

@@ -53,28 +53,33 @@ monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
 });
 
 // extra libraries
-monaco.languages.typescript.javascriptDefaults.addExtraLib([
+var libSource = [
 	'declare class Facts {',
 	'    /**',
 	'     * Returns the next fact',
 	'     */',
 	'    static next():string',
 	'}',
-].join('\n'), 'ts:filename/facts.d.ts');
+].join('\n');
+var libUri = 'ts:filename/facts.d.ts';
+monaco.languages.typescript.javascriptDefaults.addExtraLib(libSource, libUri);
+// When resolving definitions and references, the editor will try to use created models.
+// Creating a model for the library allows "peek definition/references" commands to work with the library.
+monaco.editor.createModel(libSource, 'typescript', monaco.Uri.parse(libUri));
 
 var jsCode = [
 	'"use strict";',
 	'',
-	"class Chuck {",
-	"    greet() {",
-	"        return Facts.next();",
-	"    }",
-	"}"
+	'class Chuck {',
+	'    greet() {',
+	'        return Facts.next();',
+	'    }',
+	'}'
 ].join('\n');
 
-monaco.editor.create(document.getElementById("container"), {
+monaco.editor.create(document.getElementById('container'), {
 	value: jsCode,
-	language: "javascript"
+	language: 'javascript'
 });
 
 

+ 14 - 9
website/playground/new-samples/extending-language-services/configure-javascript-defaults/sample.js

@@ -16,26 +16,31 @@ monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
 });
 
 // extra libraries
-monaco.languages.typescript.javascriptDefaults.addExtraLib([
+var libSource = [
 	'declare class Facts {',
 	'    /**',
 	'     * Returns the next fact',
 	'     */',
 	'    static next():string',
 	'}',
-].join('\n'), 'ts:filename/facts.d.ts');
+].join('\n');
+var libUri = 'ts:filename/facts.d.ts';
+monaco.languages.typescript.javascriptDefaults.addExtraLib(libSource, libUri);
+// When resolving definitions and references, the editor will try to use created models.
+// Creating a model for the library allows "peek definition/references" commands to work with the library.
+monaco.editor.createModel(libSource, 'typescript', monaco.Uri.parse(libUri));
 
 var jsCode = [
 	'"use strict";',
 	'',
-	"class Chuck {",
-	"    greet() {",
-	"        return Facts.next();",
-	"    }",
-	"}"
+	'class Chuck {',
+	'    greet() {',
+	'        return Facts.next();',
+	'    }',
+	'}'
 ].join('\n');
 
-monaco.editor.create(document.getElementById("container"), {
+monaco.editor.create(document.getElementById('container'), {
 	value: jsCode,
-	language: "javascript"
+	language: 'javascript'
 });