هل من الممكن لتنفيذ بيثون رمز الانتهاء منه في تيكست مايت؟
-
03-07-2019 - |
سؤال
PySmell يبدو وكأنه نقطة انطلاق جيدة.
وأعتقد أنه يجب أن يكون من الممكن، idehelper.py
PySmell ويقوم معظم الاشياء المعقدة، ينبغي أن يكون مجرد حالة من يعطيها السطر الحالي، وتقدم حتى الاكمال (بت أنا لست متأكدا) ومن ثم استبدال تمشيا مع واحد المحدد.
>>> import idehelper
>>> # The path is where my PYSMELLTAGS file is located:
>>> PYSMELLDICT = idehelper.findPYSMELLDICT("/Users/dbr/Desktop/pysmell/")
>>> options = idehelper.detectCompletionType("", "" 1, 2, "", PYSMELLDICT)
>>> completions = idehelper.findCompletions("proc", PYSMELLDICT, options)
>>> print completions
[{'dup': '1', 'menu': 'pysmell.pysmell', 'kind': 'f', 'word': 'process', 'abbr': 'process(argList, excluded, output, verbose=False)'}]
وانها سوف لن تكون مثالية، ولكن سيكون من المفيد للغاية (حتى لو كان مجرد لاستكمال وحدات stdlib، والتي ينبغي أن لا تتغير أبدا، لذلك كان لديك متعود على تجديد ملف PYSMELLTAGS كلما قمت بإضافة وظيفة باستمرار)
وتتقدم! لدي الأساسيات المطلق من الانتهاء منه في مكان - يعمل بالكاد، لكنها قريبة ..
وركضت python pysmells.py /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/*.py -O /Library/Python/2.5/site-packages/pysmell/PYSMELLTAGS
ضع التالية في برنامج نصي حزمة تيكست مايت، تعيين "المدخلات: وثيقة كامل"، "الإخراج: إدراج كنص"، "تنشيط: تعادل رئيسية هي: بديل + ESC"، "نطاق محدد: source.python"
#!/usr/bin/env python
import os
import sys
from pysmell import idehelper
CUR_WORD = os.environ.get("TM_CURRENT_WORD")
cur_file = os.environ.get("TM_FILEPATH")
orig_source = sys.stdin.read()
line_no = int(os.environ.get("TM_LINE_NUMBER"))
cur_col = int(os.environ.get("TM_LINE_INDEX"))
# PYSMELLS is currently in site-packages/pysmell/
PYSMELLDICT = idehelper.findPYSMELLDICT("/Library/Python/2.5/site-packages/pysmell/blah")
options = idehelper.detectCompletionType(cur_file, orig_source, line_no, cur_col, "", PYSMELLDICT)
completions = idehelper.findCompletions(CUR_WORD, PYSMELLDICT, options)
if len(completions) > 0:
new_word = completions[0]['word']
new_word = new_word.replace(CUR_WORD, "", 1) # remove what user has already typed
print new_word
وبعد ذلك أنا قدمت وثيقة الثعبان الجديدة، كتبته "urll استيراد" وضرب البديل + الهروب، والانتهاء منه إلى "urllib استيراد"!
وكما قلت، انها تماما على سير العمل في و، حتى لا تستخدم حتى الآن ..
آخر تحديث: م>
لقد متكاملة اورستايس هذا إلى رمز المشروع PySmell المفضل فإن أي تافه مزيد يحدث على جيثب
المحلول
تحرير: لقد حصلت فعلا التعليمات البرمجية أعلاه ودمجها في الأوامر. وسوف تظهر بشكل صحيح على قائمة الإنجاز لتختار.
ويمكنك الاستيلاء عليها هنا: http://github.com/orestis/pysmell/tree / سيد (وضرب تحميل والقيام بيثون setup.py تثبيت). انها الخام لكنه يعمل. - يرجى الإبلاغ عن أي أخطاء على http://code.google.com/p/pysmell/
-
ومرحبا، أنا مطور PySmell. أنا أيضا استخدام ماك، حتى إذا كان من الممكن أن ترسل لي رسالة عبر البريد الإلكتروني (معلومات الاتصال هو في شفرة المصدر) مع تقدمك حتى الآن، ويمكنني أن محاولة إدماجه:)
ويا BTW يطلق عليه PySmell - لا زائدة الصورة ':)
نصائح أخرى
وهذا ليس بالضبط ما كنت تبحث عن لكنها قد تكون قادرة على الحصول على انك بدأته:
ويبدو أنها إلى حد ما جانغو محددة ولكن بعض قصاصات قد تساعد ذوي الاحتياجات الخاصة بك. أنت أيضا قد تكون قادرة على بناء فوق ذلك مع PySmells.
وانها ليست مثالية، ولكن يمكنك محاولة إعطائها: http://mtod.org/tempy
في تيكست مايت PHP لديه بسيط تكملة في شكل مجموعة ضمني من أسماء وظيفة. يبدو قبيحا مثل PHP، ولكن في الواقع انها جيدة بما فيه الكفاية لتكون مفيدة.