Генератор шаблона Javadoc [закрывается]

Для Windows popen также работает, но открывается окно консоли, которое быстро мигает над вашим пользовательским интерфейсом. Если вы хотите быть профессионалом, лучше отключить этот «мигающий» (особенно если конечный пользователь может его отменить).

Итак, вот моя собственная версия для Windows:

(Этот код частично рекомбинирован из идей, написанных в образцах кодекса и MSDN)

//
// Execute a command and get the results. (Only standard output)
//
CStringA ExecCmd(
    const wchar_t* cmd              // [in] command to execute
)
{
    CStringA strResult;
    HANDLE hPipeRead, hPipeWrite;

    SECURITY_ATTRIBUTES saAttr = { sizeof(SECURITY_ATTRIBUTES) };
    saAttr.bInheritHandle = TRUE;   //Pipe handles are inherited by child process.
    saAttr.lpSecurityDescriptor = NULL;

    // Create a pipe to get results from child's stdout.
    if ( !CreatePipe(&hPipeRead, &hPipeWrite, &saAttr, 0) )
        return strResult;

    STARTUPINFO si = { sizeof(STARTUPINFO) };
    si.dwFlags     = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
    si.hStdOutput  = hPipeWrite;
    si.hStdError   = hPipeWrite;
    si.wShowWindow = SW_HIDE;       // Prevents cmd window from flashing. Requires STARTF_USESHOWWINDOW in dwFlags.

    PROCESS_INFORMATION pi  = { 0 };

    BOOL fSuccess = CreateProcessW( NULL, (LPWSTR)cmd, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
    if (! fSuccess)
    {
        CloseHandle( hPipeWrite );
        CloseHandle( hPipeRead );
        return strResult;
    }

    bool bProcessEnded = false;
    for (; !bProcessEnded ;)
    {
        // Give some timeslice (50ms), so we won't waste 100% cpu.
        bProcessEnded = WaitForSingleObject( pi.hProcess, 50) == WAIT_OBJECT_0;

        // Even if process exited - we continue reading, if there is some data available over pipe.
        for (;;)
        {
            char buf[1024];
            DWORD dwRead = 0;
            DWORD dwAvail = 0;

            if (!::PeekNamedPipe(hPipeRead, NULL, 0, NULL, &dwAvail, NULL))
                break;

            if (!dwAvail) // no data available, return
                break;

            if (!::ReadFile(hPipeRead, buf, min(sizeof(buf) - 1, dwAvail), &dwRead, NULL) || !dwRead)
                // error, the child process might ended
                break;

            buf[dwRead] = 0;
            strResult += buf;
        }
    } //for

    CloseHandle( hPipeWrite );
    CloseHandle( hPipeRead );
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );
    return strResult;
} //ExecCmd
31
задан james.garriss 6 January 2016 в 14:05
поделиться

4 ответа

плагин JAutodoc для затмения делает точно, в чем Вы нуждаетесь, но с гранулярностью пакета:

щелчок правой кнопкой по пакету, выберите, "Добавьте javadoc для участников...", и скелет будет добавлен.

существуют многочисленные интересные опции: шаблоны для javadoc, добавляя TODO в заголовке каждого высказывания файла: "обработайте javadoc по шаблону, должно быть заполнено...", и т.д.

38
ответ дан 27 November 2019 в 21:43
поделиться

Я думаю, автоматически генерируя пустой Javadoc, антишаблон и должен препятствоваться; это дает коду появление того, чтобы быть зарегистрированным, но просто добавляет шум к кодовой базе.

я рекомендовал бы вместо этого настроить редактор кода, чтобы помочь на основе на класс и на метод использовать, когда Вы на самом деле пишете javadoc (один комментатор указал на функцию Eclipse, которая делает это).

23
ответ дан 27 November 2019 в 21:43
поделиться

Если Вы щелкаете правой кнопкой в источнике файла в Eclipse, он имеет опцию поколения Javadoc в соответствии с исходным меню.

2
ответ дан 27 November 2019 в 21:43
поделиться

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

Не совсем инструмент, который Вы попросили, но вероятно лучше, потому что Вы не закончите с пустым skeletons на методах, которые Вы пропустили.

можно достигнуть этого путем исследования и редактирования предпочтительной страницы вне Окна пути> Предпочтения> Java> Компилятор> Javadoc для рабочей области. Снимок экрана той предпочтительной страницы ниже:

The so-called Javadoc preference page

Для получения дополнительной информации об объектах на этом экране следуйте за ссылкой ниже:

Компилятор Java Предпочтительная Справка Javadoc

4
ответ дан 27 November 2019 в 21:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: