我正在开发一个WinForms应用程序,并希望将帮助集成到其中.在过去,我集成了.chm帮助文件.
关于.chm文件,这篇Wiki文章指出:
2002年,微软公布了与.CHM格式相关的安全风险,以及安全公告和补丁.他们后来宣布他们不打算进一步开发.CHM格式.
根据我的阅读,Microsoft Help 2.x是使用.hxs文件扩展名帮助文件在VS 2008和Office 2007中使用的帮助引擎.
Office 2010中使用了什么?建议的帮助文件格式是什么?
更新:
我在以下MSDN文章中找到了有关此主题的有用信息:
我在SuperUser中为用户的观点添加了这个问题.
所以我用Delphi或.NET创建了一个可以在桌面系统上运行的应用程序.一些不错的GUI,具有各种功能和不错的功能.它运行良好,测试告诉我它几乎没有错误,我即将部署它...
等待!它需要一个帮助文件,因此用户可以从应用程序中调用上下文相关的帮助!
或不?这些天帮助文件真的是桌面应用程序的必需品吗?他们是否真的需要对语境敏感,握着用户的手,告诉他们必须在这个标有"出生日"的字段中填写他们的出生日期?或者帮助文件变得有点过时了?
这是我想知道的事情,这有点主观,所以相反,我会向开发桌面应用程序的所有人提出不同的问题:你(仍然)提供上下文敏感的帮助文件吗?
是的,或者不,请.随意添加一些主观文本,但对我而言,重要的是了解现代开发人员是否仍在为其GUI应用程序添加上下文相关帮助.
(顺便说一句,我自己已经转移到非上下文PDF文件,可以手动打印.维护起来要容易得多.)
这个问题说的都是真的.如果您正在编写WPF应用程序,那么如何集成应用程序帮助?2013年中期的比赛状态如何?
从搜索引擎的下午开始,似乎没有明确的答案,但有几种选择:
编写自己喜欢的基于工具提示的帮助(但是从哪里获取数据?)
使用.CHM文件和Windows窗体帮助系统(对我来说似乎很古老).
使用Microsoft Help Viewer 1.X或Microsoft Help 2.0.
使用第三方产品编写您的帮助文件并以某种方式链接到它们 - DocToHelp/NetHelp,NetAdvantage在线帮助等...
此外,您使用什么基于XAML的标记/属性来提供必要的上下文?推荐的方法是什么?
令人惊讶的是,在WPF中支持基于应用程序的帮助没有明确的途径.
我有一个包含S3和S4方法组合的包(是的,我知道,但尝试为sort()编写一个S4,as.matrix()等等...).所以我坚持使用CRAN的经典roxygen2(版本2.2.2)
我注意到无论我尝试什么,我都无法在Rd文件中获得自动填充的用法标记.我知道我可以使用@usage手工完成,但我想保持自动化,因为我有一个相当广泛的代码库,我不想错过任何地方的标签.
一个例子:
#' A small test function
#'
#' This function tests roxygen2
#' @param x that's right, it's called x
#' @param ... some more stuff
#'
#' @rdname testfun-methods
#' @aliases testfun
#' @docType methods
#' @export
setGeneric("testfun",function(x,...) standardGeneric("testfun"))
#' @rdname testfun-methods
#' @aliases testfun,matrix-method
#' @return the matrix minus 1
setMethod("testfun","matrix",function(x,...){x - 1})
#' @rdname testfun-methods
#' @aliases testfun,numeric-method
#' @return a vector plus 1
setMethod("testfun","matrix",function(x,...){x + 1})
Run Code Online (Sandbox Code Playgroud)
如果我将它包装在一个包中,使用roxygen2(和RStudio,如果这很重要)进行roxygenize,并检查帮助文件,它看起来像这样:
\docType{methods}
\name{testfun}
\alias{testfun}
\alias{testfun,matrix-method}
\alias{testfun,numeric-method}
\title{A small …Run Code Online (Sandbox Code Playgroud) 我在帮助查看器中看到的最酷的功能之一是隐藏继承成员的能力,因此您只能专注于特定子类提供的内容.这方面的一个很好的例子就是......
http://james.newtonking.com/projects/json/help/html/T_Newtonsoft_Json_JsonConvert.htm
实际上,该页面有各种显示帮助的选项,而不仅仅是隐藏继承的成员.
现在,在线MSDN习惯于将所有东西都扔在阳光下,这意味着要想弄清楚子类增加了什么,更不用说去了它需要大量扫描甚至更多滚动.
也就是说,是否有任何方式,本地或在线,以启用这些或类似的功能?是否有人制作了外部或第三方帮助查看器来执行此操作或类似的操作?
(注意:我不确定这是否适用于SO,因为它不是编程的东西,但它与IDE有关,所以我想我会赌博并把它放在这里.)
标记