Jak zawsze uruchamiać ten sam plik w projekcie Python?

1

Czy istnieje sposób, aby zawsze uruchamiać ten sam plik w TextMate podczas pracy nad projektem Python? Zawsze naciskam + Rpodczas edycji losowego pliku, zapominając o ponownym przejściu do zakładki zawierającej główną część tego projektu. Musi być na to sposób; klikanie kart w tym scenariuszu jest naprawdę szybkim krokiem.

użytkownik19294
źródło
Aby nieznacznie skrócić ten wzrost prędkości, być może zatrzymaj główny plik jako pierwszą kartę, a następnie szybko przejdź do niego przed uruchomieniem skryptu za pomocą ⌘1 przed naciśnięciem ittingR. W połączeniu jest dość szybki. Jednak nie miałbym nic przeciwko rozwiązaniu tego problemu. Coś jak %!TEX rootdla plików TeX w TextMate i TeXShop.
fideli

Odpowiedzi:

2

Tak, jest to możliwe i istnieje kilka możliwości osiągnięcia tego. Łatwym rozwiązaniem byłoby napisanie komendy, która wywołuje Pythona w głównym pliku, tj

python /path/to/project/main.py

jako polecenie powiązane z Command + R. Lepsze byłyby polecenia

python $TM_DIRECTORY/main.py

lub

python $TM_PROJECT_DIRECTORY/main.py

Jednak utracisz ładnie wyglądające wyjście, które zapewnia domyślne polecenie. Dlatego masz inną opcję: Ustaw zmienną instancji $ TM_PROJECT_MASTER, aby wskazywała na twój plik główny. Możesz ustawić tę zmienną bezwzględną lub względną na $ TM_PROJECT_PATH. Oczywiście ścieżka względna może być wskazana. Aby to zrobić, możesz ustawić $ TM_PROJECT_MASTER jako statyczną zmienną środowiskową, co można wykonać w następujący sposób

  1. Wybierz „Ustawienia”> „Zaawansowane”> „Zmienne powłoki”
  2. Dodaj zmienną „$ TM_PROJECT_MASTER” i wpisz „main.py” lub cokolwiek odpowiedniego dla twoich projektów

Jeśli położenie głównego pliku zmienia się z projektu na projekt, to ustawienie nie pomaga. Można jednak ustawić zmienne powłoki zależne od projektu, co byłoby rozwiązaniem w takich przypadkach:

  1. odznacz wszystkie pliki w szufladzie projektu
  2. kliknij mały przycisk informacji - pojawi się okno ze zmiennymi powłoki zależnymi od projektu
  3. ponownie dodaj zmienną „$ TM_PROJECT_MASTER” i podaj względną pozycję głównego pliku

To powinno pomóc. Baw się dobrze!

PS: Zobacz https://github.com/textmate/python.tmbundle/commit/c3e38e318c5e80b8fdd78730d65f1a7dee5aa911, jeśli szukasz wyjaśnienia, dlaczego pomaga ustawienie $ TM_PROJECT_MASTER.

Florian Pilz
źródło