Linux標準テキストエディタでコードを実行するための「gedit」外部ツールのテスト.


背景


テキストエディタは、さまざまなプログラミング言語でコードを作成して、書くために、我々をサポートします.いくつかのテキストエディタでVisual Studio Code ), 外部端末でコードを実行したりコンパイルしたりせずにコードを実行することもできます.
多くのオペレーティングシステムには独自のテキストエディタがありますgedit . 他の標準テキストエディタとは異なり、gedit 特別な機能があります.これは、コードを書くコードに基づいて強調表示することができますし、また、プラグインを使用してコードを実行することができます!
私は現在、主なオペレーティングシステムとしてUbuntugedit Ubuntu 18.04でデフォルトでインストールされています.

方法論


テキストエディタを開く

上のバーでテキストエディタメニューをクリックして、好みにアクセスして.


プラグインタブにアクセスするには、“外部ツール”をチェックすることによって有効にすることができますし、最終的にそれを使用します.

最後に、アクセス外部ツールメニューで外部コードを実行するための余分なコマンドを作成できます.

左下隅にプラス記号ボタンをクリックすると、新しい空のツールを作成します.この外部ツールメニューで見ることができる面白いstuffsがあります

  • 外部ツールコマンドを書くためのスペースbash しかし、私の観察ではPython ).

  • ショートカットキーを使用して、コマンドを実行するキーボードショートカットをトリガします.

  • 入力ソースを指定するための入力.

  • 出力を指定するための出力.

  • この外部ツールコマンドをサポートするドキュメントを指定します.

  • たとえば、外部ツールを使用してJavaScriptコードを実行します.我々は、我々が使用できることを知っていたnode appname.js ノードを使用してJavaScriptファイルを実行する場合.JS(想定しています.スペース内のコマンドを入力します.
    node $GEDIT_CURRENT_DOCUMENT_NAME
    
    また、F 5を使用してショートカットを適用すると、我々は正常に我々の最初の外部コマンドを作成している.$GEDIT_CURRENT_DOCUMENT_NAME 何かgedit 我々が見ることができる変数this link .

    シミュレーション


    F 5を押すことによって我々の簡単なJSファイルで我々のコマンドをテストしましょう、そして、我々はノードに基づく結果を示しました.jsコマンド.

    PythonとJavaScriptなどのファイルを開くための別の外部コードを試してみましょう.
    #!/bin/sh
    TYPE=$GEDIT_CURRENT_DOCUMENT_TYPE
    APP_NAME=$GEDIT_CURRENT_DOCUMENT_NAME
    
    # checking file mime-type
    # $TYPE
    
    # switch conditional
    case $TYPE in
        ## nodejs
        "application/javascript")
            node $APP_NAME
            echo "Nodejs file executed"
        ;;
        ## python
        "text/x-python")
            python3 $APP_NAME
            echo "Python file executed"
        ;;
        ## else
        *)
            echo "Not supported programming file"
        ;;
    esac
    

    JavaScriptファイル(ノード. js )で正常に実行されます.

    また、Pythonファイルにも成功しました

    結論


    最後にgedit 外部ツールを使用して外部でファイルを実行できます.使ってbash コード、それは様々な機能のための実行コードのためのコマンドを作成するために使用することができます.

    参考文献

  • GNOME gedit外部ツールドキュメントhttps://wiki.gnome.org/Apps/Gedit/Plugins/ExternalTools )