2017-04-18 6 views
1

これが重複としてマークされる前に、明確にしてください。私は新しいキーワードを定義したくありません。 asyncawaitをキーワードのリストに入れて、IDLEのキーワードとして表示させたいと思います。新しいキーワードを 'キーワード'モジュールに挿入するにはどうすればよいですか?

はバージョン3.5以来、asyncioは(あなたがasyncioをインポートしません非常にいくつかの事情があるが)asyncawaitを使用するためにインポートする必要はありませんので、私は彼らがキーワードとして着色することにしたいです。私は見ることができませんasync defdefはオレンジ色ですが、asyncはデフォルトの黒です。

私はidlelibcolorizer.pyを通じて見て、あなたはモジュール自体を経由して、文字列の接頭辞などを色付けすることができますしながら、(私はすでにフォーマット文字列のためにこれをしなかった)しかし、あなたはkeywordsを編集する以外に新しいキーワードを挿入することはできません。私はそのモジュールを開いたとき、私はこれを見た:

"""...This file is automatically generated; please don't muck it up! 

    To update the symbols in this file, 'cd' to the top directory of 
    the python source tree after building the interpreter and run: 

     ./python Lib/keyword.py 
    """ 

私は正直に「インタプリタを構築する」とは何を意味するのか分かりません。インストール中にこのプロセスを変更する方法はありますか、またはCファイルを編集して実行する必要はありますか?それとも別の簡単な方法がありますか?

+2

あなた自身のインストールでファイルを更新することは自由です。しかし、次にソースからPythonをビルドしたり、Pythonを再インストールしたりすると、そのファイルが壊れてしまい、手動による追加がもう一度行われなくなります。 –

+2

あなたは、より良いIDEを得ることによって、より良いサービスになるでしょう。 – user2357112

+1

Pythonのソースコードを扱っている開発者に、そのファイルを手動で再生成する方法を覚えさせる指示があります。 –

答えて

4

そのモジュールをただ更新することができます。そのファイルを指すようにIDLESTARTUP environment variableを設定し、その後

import keyword 

keyword.kwlist += ['async', 'await'] 
keyword.iskeyword = frozenset(keyword.kwlist).__contains__ 

をして、あなたのHomeDirectoryに格納ファイルを作成します。 IDLEが-sスイッチで開始されるたびに、keywordモジュールが更新され、目的の「キーワード」が追加されます。 -sスイッチが煩雑すぎる場合は、ファイルを$HOME/.Idle.pyに移動して無条件にロードするか、USER_SITE locationに移動してすべてのPythonコードを実行してください。後者はもちろん、より多くのリスクを負っています。

そうでなければ、ソースからPythonインタプリタをビルドするときにファイルが生成されることを警告します。システム上でファイルを編集する場合、そのファイルが置き換えられることを心配する必要はありません。しかし、あなたがPythonをアップグレードしたことがあるならば、それは争奪される可能性が高いので、変更をやり直す必要があります。 Pythonの3.7で、asyncawait実際のキーワードとなりますので、あなたが長いすべてのことを待つ必要がないことを

は注意してください。その間、より良いIDEを選ぶことができます。私は、MagicPython code highlighterをサポートしているSublime Text 3とAtomを使用しています。すでにawaitasyncが正しく表示されています。

+0

IDLESTARTUP変数は何らかの理由で何にも影響しませんでした。私は 'site.USER_SITE'に行き、私のファイルをそこに置かなければなりませんでした。それでも、スタートアップファイルを作成できることを完全に忘れてしまったので、ありがとうございます。 –

+1

@IsaacSaffold:ああ、はい、IDLEはコマンドラインで '-s'を使ったときだけその変数を調べますので、リンクされたドキュメントを参照してください。あなたのホームディレクトリの '.Idle.py'ファイルを使うこともできます。 –

関連する問題