3

Python のスタック トレース ラインが、ターミナルでハイパーリンクのように機能するようにします。私のお気に入りのエディターは、ファイルを開いて正しい行に移動する必要があります。

Traceback (most recent call last):
  File "/home/foo_eins_dt/djangotools/utils/smtputils.py", line 73, in _inner_to_outbox
    return func(*args, **kwargs)
  File "/home/foo_eins_dt/foo_mail/tests/EditTest.py", line 289, in test_something
    beleg_ids=importutils.import_msg_file(temp)
TypeError: bar() takes exactly 2 arguments (1 given)

今までは gnome-terminal を使っていましたが、別の端末に切り替えることができました。

例: をクリックするFile "/home/foo_eins_dt/foo_mail/tests/EditTest.py"と、ファイル EditTest.py が 289 行目で開かれます。

4

2 に答える 2

3

インターネットの未来のために:これはiTerm 2のOS Xで可能です

Sublime Text を使用したセットアップは次のとおりです。~/bin/magic-iterm-open.py

#!/usr/bin/python

import sys
from subprocess import call

if len(sys.argv) > 2:

    pathToSubl = "/Users/rainer/bin/"

    filename, linenum = sys.argv[1], sys.argv[2]
    rest = "" if len(sys.argv) < 4 else sys.argv[3]

    if not filename.endswith('.py'):
        # I believe this approximates iTerm's default
        call(['/usr/bin/open', filename])
    else:
        newLinenum = linenum
        if not str.isdigit(linenum):
            line = linenum.split(",")
            if len(line) > 1:
                newLinenum = filter(str.isdigit, line[1])

        command = ["{0}subl".format(pathToSubl),
                   "--add",  # If you'd like to add to your current sublime project
                   "{0}:{1}".format(filename, newLinenum)]

        call(command)

そしてiTerm2の設定:

ここに画像の説明を入力

すべてのクレジットは、こちらの古い redit 投稿にあります: https://www.reddit.com/r/SublimeText/comments/1kanze/iterm2_jump_to_location_in_sublime_text_23/

于 2016-06-08T02:59:54.643 に答える
1

この機能をすぐにサポートする端末はないと思います。ファイル名を Cmd-Click すると、端末 (Mac の iTerm) がファイルを開きます。ただし、行番号は無視されます。

一方、Python をサポートし、ターミナルが組み込まれている IDE を調査します。それらのいくつかがあなたのユースケースをサポートしている可能性が高くなります。

于 2013-09-17T11:24:38.160 に答える