هل من الممكن لتنفيذ بيثون رمز الانتهاء منه في تيكست مايت؟

StackOverflow https://stackoverflow.com/questions/221339

سؤال

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، ولكن في الواقع انها جيدة بما فيه الكفاية لتكون مفيدة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top