2017-02-23 6 views
0

codemirror textareaのコードを表示している間にプレーンテキストが表示されていますが、そのコードを強調表示された形式で表示します。すべてのPLZは私を助けます。それは非常に明確ではないのでcodemirror表示コードfrom codemirror textarea

<!doctype html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <title>Demo_Format</title> 
     <link rel="stylesheet" href="lib/codemirror.css"> 
     <script src="lib/codemirror.js"></script> 
     <script src="lib/util/formatting.js"></script> 
     <script src="lib/css.js"></script> 
     <script src="lib/xml.js"></script> 
     <script src="lib/javascript.js"></script> 
     <script src="lib/htmlmixed.js"></script> 
     <link rel="stylesheet" href="lib/docs.css"> 

     <style type="text/css"> 
      .CodeMirror { 
       border: 1px solid #eee; 
      } 

      td { 
       padding-right: 20px; 
      } 
     </style> 
    </head> 
    <body> 
     <h1></h1> 

     <form> 
      <textarea id="code" name="code"> 
       package org;import java.io.IOException;import javax.servlet.http.*;@SuppressWarnings("serial") 
       public class BasicChatServlet extends HttpServlet{public void doGet(HttpServletRequest req,HttpServletResponse resp) 
       throws IOException{resp.setContentType("text/plain");resp.getWriter().println("Hello, world");}} 
      </textarea> 

     </form> 

     <table> 
      <tr> 
       <td> 
        <a href="javascript:autoFormatSelection()"> 
         <button> Format </button> 
        </a>&nbsp;&nbsp;&nbsp; 
        <button id="copy_button">copy</button> 
        <button id="show">show</button> 
       </td> 
       <div id="code_show"> 

       </div> 
      </tr> 
     </table> 
     </p> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
     <script> 
      $("#copy_button").click(function(){ 
      $("textarea").select(); 
      document.execCommand('copy'); 
      }); 

      var editor = CodeMirror.fromTextArea(document.getElementById("code"), { 
      lineNumbers: false, 
      indentUnit: 4 

      }); 
      CodeMirror.commands["selectAll"](editor); 
      function getSelectedRange() { 
      return { from: editor.getCursor(true), to: editor.getCursor(false) }; 
      } 
      function autoFormatSelection() { 
      var range = getSelectedRange(); 
      var x=editor.autoFormatRange(range.from, range.to); 

      } 
      $("#show").click(function(){ 
      var program=editor.getValue(); 
      $("#code_show").text(program); 
      }); 
     </script> 
    </body> 
</html> 

答えて

0

(わからない、これはあなたの質問に答える場合:

私はeditor.getValue();を使用することによって、私はcodemirrorエディタからそのコードを取得していますcodemirrorエディタで強調表示されたハイライトされたコードを印刷したいです

各モード(CodeMirrorインスタンスのスタイル)はmode/ディレクトリのサブディレクトリにあり、通常はモードを実装する単一のJavaScriptファイルを定義します。このようなファイルをロードすると、あなたのCodeMirrorインスタンスを作成中に宣言するmode optionを通じてCodeMirrorの言語が利用できるようになります:

CodeMirror.fromTextArea(document.getElementById("code"), { 
    lineNumbers: false, 
    indentUnit: 4, 
    mode: 'text/css' 
}); 

あなたのdifferent mode filesがあなたのライブラリにあるモードフォルダに追加されていることを確認する必要があります。あなたの場合、css.jsxml.jsjavascript.jsおよびhtmlmixed.jsファイルはlib/modeと呼ばれる新しいフォルダに入れる必要があります(css.jsにはlib/mode/css.jsというファイルパスがあります)。

各モードのデモを調べて、mode:オプションに渡す必要のある文字列を確認して呼び出すことができます。ここでは、さらに一歩進み、複数のテキストファイルの種類を編集するための場でモードを変更することができますcss demo for example

です:Multiple modes Codemirror

関連する問題