瀏覽代碼

new changes

placidenduwayo 1 年之前
父節點
當前提交
241afd97cd

+ 6
- 10
src/app/pages/monaco-editor-test/monaco-editor-test/monaco-editor-test.component.html 查看文件

@@ -1,10 +1,6 @@
1
-<h1></h1>
2
-<div style="height: 500px">
3
-    <ngx-monaco-editor 
4
-        style="height: 100%" 
5
-        [options]="options"
6
-        [model]="model"
7
-        [(ngModel)]="java_placeholder"
8
-        (onInit)="onInit($event)">
9
-    </ngx-monaco-editor>
10
-</div>
1
+<ngx-monaco-editor 
2
+    style="margin-left: 1cm;margin-top: 1cm;margin-right: 1cm;height: 88%;" 
3
+    [options]="monacoOptions" 
4
+    [model]="model"
5
+    (onInit)="onInit($event)">
6
+</ngx-monaco-editor>

+ 12
- 5
src/app/pages/monaco-editor-test/monaco-editor-test/monaco-editor-test.component.ts 查看文件

@@ -60,12 +60,20 @@ export class MonacoEditorTestComponent {
60 60
     }
61 61
   }`;
62 62
 
63
-  options = {
63
+  monacoOptions = {
64 64
     theme: this.theme,
65 65
     automaticLayout: true,
66
-    quickSuggestions: true,
67
-    wordBasedSuggestions: true
68
-  };
66
+    quickSuggestions: {
67
+      other: 'inline',
68
+      comments: true,
69
+      strings : true
70
+    },
71
+    wordBasedSuggestions: true,
72
+    glyphMargin: true,
73
+    fontSize: 20,
74
+    fixedOverflowWidgets: true,
75
+    acceptSuggestionOnEnter: "on",
76
+    };
69 77
 
70 78
   placeholders: Array<string> = [
71 79
     this.java_placeholder, 
@@ -80,5 +88,4 @@ export class MonacoEditorTestComponent {
80 88
     value: this.placeholders[0],
81 89
     language: this.languages[0],
82 90
   }
83
-
84 91
 }

+ 15
- 15
src/monaco-editor/monaco-editor-config.ts 查看文件

@@ -1,23 +1,23 @@
1 1
 
2
-declare var monaco: any;
3 2
 
4 3
 async function onMonacoEditorLoad(languages: Array<string> = ['java', 'csharp', 'python', 'html', 'json', 'css']) {
5
-  const allLangs = await monaco.languages.getLanguages();
4
+  const allLangs =  (<any>window).monaco.languages.getLanguages();
6 5
   console.log('all supported languages:', allLangs);
7
-  console.log(monaco);
8
-  monaco.languages.register({ id: languages[0] });
9
-  monaco.languages.registerCompletionItemProvider(languages[0], {
6
+  console.log( (<any>window).monaco);
7
+  (<any>window).monaco.languages.register({ id: languages[0] });
8
+  (<any>window).monaco.languages.registerCompletionItemProvider(languages[0], {
10 9
     triggerCharacters: ['.'],
11 10
     provideCompletionItems: function (model: any, position: any) {
12
-      var textUntilPosition = model.getValueInRange(
11
+      const textUntilPosition = model.getValueInRange(
13 12
         {
14
-          startLineNumber: 1, startColumn: 1,
13
+          startLineNumber: position.lineNumber, 
14
+          startColumn: 1,
15 15
           endLineNumber: position.lineNumber,
16 16
           endColumn: position.column
17 17
         }
18 18
       );
19
-      console.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!', textUntilPosition);
20
-      var match = textUntilPosition.match(/"dependencies"\s*:\s*\{\s*("[^"]*"\s*:\s*"[^"]*"\s*,\s*)*([^"]*)?$/);
19
+      console.log(textUntilPosition);
20
+      const match = textUntilPosition.match(/"dependencies"\s*:\s*\{\s*("[^"]*"\s*:\s*"[^"]*"\s*,\s*)*([^"]*)?$/);
21 21
       if (!match) {
22 22
         return { suggestions: [] };
23 23
       }
@@ -29,34 +29,34 @@ async function onMonacoEditorLoad(languages: Array<string> = ['java', 'csharp',
29 29
         endColumn: word.endColumn
30 30
       };
31 31
 
32
-      var suggestions = [
32
+      const suggestions = [
33 33
         {
34 34
           label: '"lodash"',
35
-          kind: monaco.languages.CompletionItemKind.Function,
35
+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function,
36 36
           documentation: "The Lodash library exported as Node.js modules.",
37 37
           insertText: '"lodash": "*"',
38 38
           range: range
39 39
         },
40 40
         {
41 41
           label: '"express"',
42
-          kind: monaco.languages.CompletionItemKind.Function,
42
+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function,
43 43
           documentation: "Fast, unopinionated, minimalist web framework",
44 44
           insertText: '"express": "*"',
45 45
           range: range
46 46
         },
47 47
         {
48 48
           label: '"mkdirp"',
49
-          kind: monaco.languages.CompletionItemKind.Function,
49
+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function,
50 50
           documentation: "Recursively mkdir, like <code>mkdir -p</code>",
51 51
           insertText: '"mkdirp": "*"',
52 52
           range: range
53 53
         },
54 54
         {
55 55
           label: '"my-third-party-library"',
56
-          kind: monaco.languages.CompletionItemKind.Function,
56
+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function,
57 57
           documentation: "Describe your library here",
58 58
           insertText: '"${1:my-third-party-library}": "${2:1.2.3}"',
59
-          insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
59
+          insertTextRules:  (<any>window).monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
60 60
           range: range
61 61
         }
62 62
       ];

Powered by TurnKey Linux.