2014-10-13 1 views
3

Возможно ли узнать, является ли функция или процедура частной, защищенной или общедоступной. Теперь я должен прокрутить вверх, чтобы увидеть, является ли метод приватным. Есть ли инструмент или в структуре (Проводник кода), чтобы увидеть, является ли метод приватным, защищенным или публичным прокруткой вверх.Как проверить, является ли функция или процедура закрытой, защищенной или общедоступной, без прокрутки вверху

пример:

unit ..... 
// 100 line code 
private 
// 1000 line code 
    procedure A(); // <-- Here I can't see if the procedure is private. Must scroll to the top 
// 2000 line code 
... 
procedure A(); // <-- Here I can't see if the procedure is private. Must scroll to the top 
begin 
    ... 
end; 

Единственное, что я могу теперь установить (частный, защищенный или общественность) его описание резюме

В Code Explorer, я вижу синий цвет для процедуры и зеленый цвет для функции, но ничего для частной, защищенной или общедоступной иконки.

Я изменил свойства Исследуемого кода, и теперь у меня есть карты частных, защищенных или пульсирующих.

Но когда я перехожу к процедуре в коде, в коде исследования нет выбранного элемента, как в представлении диспетчера проектов. Такая же ситуация для Исследуемого кода. Необходимо прокрутить страницу до карты, чтобы узнать, является ли она частной, защищенной или общедоступной. Один альтернативный вариант - это запись метода при поиске исследуемого кода. Тогда это всплывающее подсказка.

Я нашел возможное решение: скопируйте метод и прошёл в поисковую строку кода проводника. Всплывающее окно comboboxlist дает мне то, что я хочу видеть (частный, защищенный ...)

+2

Не работает окно проводника кода http://docwiki.embarcadero.com/RADStudio/en/Code_Explorer –

+0

@DavidHeffernan: Я не вижу в структуре Code Explore, если метод является частным, защищенным или общественности. – Ravaut123

+1

Разве у него нет значков, указывающих на это? Я не могу сейчас проверить. Или как насчет структуры? –

ответ

0

Нет, вы не можете. потому что Delphi разбивает свои классы на два интерфейса и реализацию pices.

В fx. C# вы это делаете diffrent

public static byte[] ColumnBlob(Sqlite3Statement stmt, int index) 
{ 
    return Sqlite3.sqlite3_column_blob(stmt, index); 
} 

В то время как в Delphi вы пролили класс в THW:

type 
    TSQLiteException = class(TException) 
    public 
    class function ColumnBlob(stmt : Sqlite3Statement, index : integer) : TArray<byte>; 
    end; 

и impelmentation:

function TSQLiteException.ColumnBlob(stmt : Sqlite3Statement, index : integer) : TArray<byte> ; 
begin 
    //Do stuff 
end; 

Есть взлеты и падения в методах Boths :

C# способ вы можете видеть уровень защиты класса, пока вы не можете видеть, какой класс вы w Ith в

И othere путь Arround с Delphi

3

... без прокрутки к началу

Используйте сочетание клавиш CTRL - SHIFT - UP (или CTRL - SHIFT - DOWN), чтобы перейти к объявлению.

И используйте то же самое, чтобы снова вернуться к реализации.

Если это не ясно, какой раздел (частные, защищенные или общественности) декларация принадлежит сразу, а затем использовать CTRL - UP для прокрутки без перемещения курсора.

+0

Если у вас есть небольшой класс, это будет работать. Попробуйте войти в код VCL и попробуйте свой тик. –

+1

@JensBorrisholt: эти ярлыки отлично работают для меня в исходном коде D7 & XE4, включая ComCtrls.Pas и MSHTML.Pas, которые являются самыми большими исходными файлами, которые я мог найти. – MartynA

+2

@martynA вы пропустили пункт. –

5

Используйте Structure View, чтобы показать полную информацию о объявлениях классов.

Чтобы контролировать внешний вид представления, задайте параметры в диалоговом окне Tools > Options > Environment Options > Explorer.


Update

Как было отмечено в комментариях, вы должны вручную перемещаться вид структуры, чтобы просмотреть структуру класса.

Уточненный запрос на добавление QC 128271 Structure view lookup from editor, чтобы облегчить быстрый просмотр структурного представления из редактора.

+0

Есть ли что-то, что он автоматически выбирает элемент в коде исследования, как средство просмотра диспетчера проектов. – Ravaut123

+0

Двойной щелчок в представлении структуры направляет редактор на соответствующий элемент. Двойной щелчок в исходном редакторе не имеет эффекта подсветки элемента в представлении структуры. Возможно, хорошая вещь, чтобы отчитаться как запрос в КК. –

+0

приблизительное решение: скопируйте метод и прошлое в поле поиска кода exlpore. Popuphint дает информацию. – Ravaut123

1

Я могу порекомендовать ModelMaker Code Explorer. Это не бесплатно, но стоит денег. Он показывает много информации и предоставляет некоторые действительно полезные рефакторинги.