placidenduwayo 1 年間 前
コミット
1f425e833b

+ 1
- 1
angular.json ファイルの表示

@@ -51,7 +51,7 @@
51 51
               {
52 52
                 "glob": "**/*",
53 53
                 "input": "node_modules/monaco-editor",
54
-                "output": "assets/monaco"
54
+                "output": "/assets/monaco"
55 55
               },
56 56
               "src/favicon.ico",
57 57
               "src/assets"

+ 0
- 38
monaco-config.ts ファイルの表示

@@ -1,38 +0,0 @@
1
-import { NgxMonacoEditorConfig } from "ngx-monaco-editor-v2";
2
-
3
-export function onMonacoEditorLoad() {
4
-
5
-  (window as any).monaco.languages.register({id:'java'});
6
-
7
-  (window as any).monaco.languages.registerCompletionItemProvider('java',{
8
-
9
-    providerCompletionItems:function(){
10
-      var suggestions = [
11
-        {
12
-          label:'simpleText',
13
-          kind: (window as any).monaco.languages.CompletionItemKind.Text,
14
-          insertText: 'simpleText'
15
-        },
16
-        {
17
-          label:'testing',
18
-          kind: (window as any).monaco.languages.CompletionItemKind.Keyword,
19
-          insertText: 'testing(${1:condition})',
20
-          insertTextRules: (window as any).monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet
21
-        },
22
-        {
23
-          label: 'ifelse',
24
-          kind: (window as any).monaco.languages.CompletionItemKind.Snippet,
25
-          insertTest: ['if (${1:condition}) {', '\t$0', '} else {', '\t', '}'].join('\n'),
26
-          insertTextRules: (window as any).monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
27
-          documentation: 'If-Else Statement'
28
-        },
29
-      ];
30
-      return {suggestions: suggestions};
31
-    }
32
-  });
33
-
34
-}
35
-
36
-export const monacoConfig: NgxMonacoEditorConfig = {
37
-    onMonacoLoad: onMonacoEditorLoad
38
-};

+ 1
- 1
src/app/pages/monaco-editor-test/monaco-editor-test.module.ts ファイルの表示

@@ -5,7 +5,7 @@ import { MonacoEditorTestRoutingModule } from './monaco-editor-test-routing.modu
5 5
 import { MonacoEditorTestComponent } from './monaco-editor-test/monaco-editor-test.component';
6 6
 import { FormsModule } from '@angular/forms';
7 7
 import { MonacoEditorModule} from 'ngx-monaco-editor-v2'
8
-import { monacoConfig } from 'monaco-config';
8
+import { monacoConfig } from 'src/monaco-config';
9 9
 
10 10
 
11 11
 @NgModule({

+ 9
- 2
src/app/pages/monaco-editor-test/monaco-editor-test/monaco-editor-test.component.ts ファイルの表示

@@ -8,9 +8,10 @@ import { Component } from '@angular/core';
8 8
 export class MonacoEditorTestComponent{
9 9
     
10 10
   language: string = 'java';
11
+  theme: string = 'vs-dark';
11 12
 
12 13
     options = {
13
-      theme:'vs',
14
+      theme:this.theme,
14 15
       language: this.language,
15 16
       automaticLayout: true,
16 17
       quickSuggestions:true,
@@ -29,7 +30,8 @@ export class MonacoEditorTestComponent{
29 30
     public static void main (String [] args){
30 31
       System.out.println("Hello World");
31 32
     }
32
-}`;
33
+  }`;
34
+
33 35
   csharp_placeholder: string = 
34 36
   `
35 37
   using System;
@@ -41,5 +43,10 @@ export class MonacoEditorTestComponent{
41 43
     }
42 44
   }`;
43 45
   json_placeholder: string ='';
46
+
47
+  onInit(editor: { getPosition: () => any; }) {
48
+    let line = editor.getPosition();
49
+    console.log(line);
50
+  }
44 51
 }
45 52
  

+ 16
- 13
src/monaco-config.ts ファイルの表示

@@ -1,38 +1,41 @@
1 1
 import { NgxMonacoEditorConfig } from "ngx-monaco-editor-v2";
2 2
 
3
-export function onMonacoEditorLoad() {
4 3
 
5
-  (window as any).monaco.languages.register({id:'java'});
4
+export function onMonacoEditorLoad(id: string = 'java') {
6 5
 
7
-  (window as any).monaco.languages.registerCompletionItemProvider('java',{
6
+  (<any>window).monaco.languages.register({ id });
8 7
 
9
-    providerCompletionItems:function(){
8
+  (<any>window).monaco.languages.registerCompletionItemProvider(id, {
9
+    triggerCharacters : ['1'],
10
+    providerCompletionItems: function () {
10 11
       var suggestions = [
11 12
         {
12
-          label:'simpleText',
13
-          kind: (window as any).monaco.languages.CompletionItemKind.Text,
13
+          label: 'simpleText',
14
+          kind: (<any>window).monaco.languages.CompletionItemKind.Text,
14 15
           insertText: 'simpleText'
15 16
         },
16 17
         {
17
-          label:'testing',
18
-          kind: (window as any).monaco.languages.CompletionItemKind.Keyword,
18
+          label: 'testing',
19
+          kind: (<any>window).monaco.languages.CompletionItemKind.Keyword,
19 20
           insertText: 'testing(${1:condition})',
20
-          insertTextRules: (window as any).monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet
21
+          insertTextRules: (<any>window).monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet
21 22
         },
22 23
         {
23 24
           label: 'ifelse',
24
-          kind: (window as any).monaco.languages.CompletionItemKind.Snippet,
25
+          kind: (<any>window).monaco.languages.CompletionItemKind.Snippet,
25 26
           insertTest: ['if (${1:condition}) {', '\t$0', '} else {', '\t', '}'].join('\n'),
26
-          insertTextRules: (window as any).monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
27
+          insertTextRules: (<any>window).monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
27 28
           documentation: 'If-Else Statement'
28 29
         },
29 30
       ];
30
-      return {suggestions: suggestions};
31
+      return { suggestions: suggestions };
31 32
     }
32 33
   });
33 34
 
34 35
 }
35 36
 
36 37
 export const monacoConfig: NgxMonacoEditorConfig = {
37
-    onMonacoLoad: onMonacoEditorLoad
38
+  baseUrl: './assets',
39
+  defaultOptions: { scrollBeyondLastLine: false },
40
+  onMonacoLoad: onMonacoEditorLoad
38 41
 };

Powered by TurnKey Linux.