Рекомендация для стороннего управления редактированием/подсветкой синтаксиса - WinForms

Что касается общей архитектуры, я бы рекомендовал следующую структуру в отношении создания каталогов. Это будет охватывать большинство потенциальных проблем, и любые другие проблемы с созданием каталогов будут обнаружены вызовом dir.create.

mainDir <- "~"
subDir <- "outputDirectory"

if (file.exists(paste(mainDir, subDir, "/", sep = "/", collapse = "/"))) {
    cat("subDir exists in mainDir and is a directory")
} else if (file.exists(paste(mainDir, subDir, sep = "/", collapse = "/"))) {
    cat("subDir exists in mainDir but is a file")
    # you will probably want to handle this separately
} else {
    cat("subDir does not exist in mainDir - creating")
    dir.create(file.path(mainDir, subDir))
}

if (file.exists(paste(mainDir, subDir, "/", sep = "/", collapse = "/"))) {
    # By this point, the directory either existed or has been successfully created
    setwd(file.path(mainDir, subDir))
} else {
    cat("subDir does not exist")
    # Handle this error as appropriate
}

Также имейте в виду, что если ~/foo не существует, то вызов dir.create('~/foo/bar'), если вы не укажете recursive = TRUE.

6
задан Sid M 14 July 2014 в 11:14
поделиться

2 ответа

ICSharpCode. TextEditor свободен и довольно стабилен.
Что касается Actipro коммерческого решения SyntaxEditor мог бы быть лучшим выбором

7
ответ дан 8 December 2019 в 17:31
поделиться

Испытайте ScintillaNET, это - обертка WinForms.NET вокруг превосходного управления Scintilla. Сам Scintilla является свободным компонентом редактора исходного кода, который очень настраиваем и имеет все функции, которые Вы попросили. Посмотрите здесь для снимка экрана.

3
ответ дан 8 December 2019 в 17:31
поделиться
Другие вопросы по тегам:

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