3

Многие современные IDE предоставляют возможность перейти к объявлению функции с помощью простого ярлыка или специального щелчка мышью по вызову функции. Это единственное, что мешает TextMate быть моей единой IDE, чтобы управлять ими всеми.

Пока что я нахожу TextMate отличным решением для веб-разработки и написания сценариев, но выполнение крупномасштабных C++ или Java-разработок может быть немного затруднено.

3 ответа3

1

Я изменил скрипт ghoppe для работы с определениями классов и функций Python (также работает немного быстрее):

FUNC="$TM_CURRENT_WORD"
DIR="$TM_PROJECT_DIRECTORY"
OUTPUT=''

# Define the class or function definition string that we're looking for.
FUNCDEF='(def|class) '$FUNC

# Find all files that contain FUNCDEF
FILES=(`egrep "$FUNCDEF" $DIR/* -r -l --include=*.py`)

#
# Look for a function declaration within a files contents.
#
# <file>
#
function lookup_function {
    local line=`nl -b a "$1" | egrep "$FUNCDEF" | awk '{print $1}'`
    if [[ "$line" -gt 0 ]]; then
      # echo 'Jumping to --> '$1':'$line
      mate "$1" -l "$line"
      exit 0
    fi
}

# Iterate files
for file in ${FILES[@]}; do
    echo $file
    lookup_function "$file"
done

# Nothing found
echo 'Function '${FUNC}' was not found within the current project.'
0

Хотя TextMate имеет лексическое форматирование (полужирный шрифт, курсив, раскраска и т.д.), Он не совсем понимает, какой именно код вы в него вводите. Для того, чтобы делать более сложные вещи, как вы хотите, TextMate должен был бы выполнить другой тип анализа в дополнение к форматированию, которое становится ближе к компилятору.
Из того, что я знаю, TextMate сейчас не поддерживает эту функцию.

0

Вот как это сделать в TextMate (из кеша Google):

Многие IDE имеют возможность "перейти" к объявлению функции в проекте, в котором вы работаете. Вот как это сделать в TextMate. Предполагая, что вы понимаете комплекты, приведенный ниже скрипт Bash должен быть помещен в Команду с выводом, установленным в "Показать как всплывающую подсказку", и, наконец, выбрать нужную комбинацию клавиш.

Когда все будет готово, просто нажмите комбинацию клавиш, пока каретка над вашей функцией. Приведенный ниже скрипт будет перебирать файлы, связанные с PHP, искать объявление, а затем открывать документ TextMate в соответствующей строке. Когда этот сценарий не работает, всплывающая подсказка будет отображаться.

FUNC="$TM_CURRENT_WORD"
DIR="$TM_PROJECT_DIRECTORY"
OUTPUT=''

FILES=(`find "$DIR" -type f | egrep '\.(module|inc|php|engine|install)$'`)

#
# Look for a function declaration within a files contents.
#
# <file> <function>
#
function lookup_function {
  local line=`nl -b a "$1" | grep 'function '"$2"'(' | awk '{print $1}'`
  if [[ "$line" -gt 0 ]]; then
    mate "$1" -l "$line"
    exit 0
  fi
}

# Iterate files
for (( i=0; i < ${#FILES[*]}; i++)); do
  file="${FILES[${i}]}"
  lookup_function "$file" "$FUNC"
done

# Nothing found
echo 'Function '${FUNC}' was not found within the current project.'

Также проверьте это:

http://www.cocoabits.com/TmCodeBrowser/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .