当前位置:  开发笔记 > 编程语言 > 正文

将堆栈溢出集成到IDE中?

如何解决《将堆栈溢出集成到IDE中?》经验,为你挑选了3个好方法。

好吧,这只是一个疯狂的想法.Stack Overflow看起来非常结构化,可以集成到开发应用程序中.那么,有可能,甚至是有用的,有一个Stack Overflow插件,比如Eclipse吗?

您希望将Stack Overflow的哪些功能直接集成到IDE中,以便您可以"本机"使用它而无需更改为浏览器?

编辑:我正在考虑更深层次的集成方法,而不仅仅是使用IDE中的网页.就像你使用某个Java类并遇到问题一样,来自SO的答案可能会爆发.可能会出现类似这样的事情令人讨厌的情况,但其他人可能会非常有帮助.



1> Chris Lawlor..:

跟进Josh的回答.此VS宏将在Visual Studio IDE中搜索StackOverflow以查找突出显示的文本.只需突出显示并按Alt + F1即可

Public Sub SearchStackOverflowForSelectedText()
    Dim s As String = ActiveWindowSelection().Trim()
    If s.Length > 0 Then
        DTE.ItemOperations.Navigate("http://www.stackoverflow.com/search?q=" & _
            Web.HttpUtility.UrlEncode(s))
    End If
End Sub

Private Function ActiveWindowSelection() As String
    If DTE.ActiveWindow.ObjectKind = EnvDTE.Constants.vsWindowKindOutput Then
        Return OutputWindowSelection()
    End If
    If DTE.ActiveWindow.ObjectKind = "{57312C73-6202-49E9-B1E1-40EA1A6DC1F6}" Then
        Return HTMLEditorSelection()
    End If
    Return SelectionText(DTE.ActiveWindow.Selection)
End Function

Private Function HTMLEditorSelection() As String
    Dim hw As HTMLWindow = ActiveDocument.ActiveWindow.Object
    Dim tw As TextWindow = hw.CurrentTabObject
    Return SelectionText(tw.Selection)
End Function

Private Function OutputWindowSelection() As String
    Dim w As Window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)
    Dim ow As OutputWindow = w.Object
    Dim owp As OutputWindowPane = ow.OutputWindowPanes.Item(ow.ActivePane.Name)
    Return SelectionText(owp.TextDocument.Selection)
End Function

Private Function SelectionText(ByVal sel As EnvDTE.TextSelection) As String
    If sel Is Nothing Then
        Return ""
    End If
    If sel.Text.Length = 0 Then
        SelectWord(sel)
    End If
    If sel.Text.Length <= 2 Then
        Return ""
    End If
    Return sel.Text
End Function

Private Sub SelectWord(ByVal sel As EnvDTE.TextSelection)
    Dim leftPos As Integer
    Dim line As Integer
    Dim pt As EnvDTE.EditPoint = sel.ActivePoint.CreateEditPoint()

    sel.WordLeft(True, 1)
    line = sel.TextRanges.Item(1).StartPoint.Line
    leftPos = sel.TextRanges.Item(1).StartPoint.LineCharOffset
    pt.MoveToLineAndOffset(line, leftPos)
    sel.MoveToPoint(pt)
    sel.WordRight(True, 1)
End Sub

安装:

    转到工具 - 宏 - IDE

    在"MyMacros"下创建一个名为您选择的新模块.或使用现有模块.

    将上面的代码粘贴到模块中

    向模块添加对System.Web命名空间(对于HttpUtility)的引用

    关闭宏IDE窗口

    转到工具 - 选项 - 环境 - 键盘

    在显示命令包含文本框中键入"google".SearchGoogleForSelectedText宏应该会显示出来

    单击"按快捷键"文本框,然后按ALT + F1

    单击"分配"按钮

    单击确定

这一切都取自杰夫阿特伍德的谷歌搜索VS宏帖子,只是修改为搜索StackOverflow而不是.



2> Kevin Chan..:

我不认为我能用SO集成到IDE中完成任何工作.它几乎和将Digg/Reddit集成到IDE中一样糟糕.



3> Josh Sklare..:

在Visual Studio中,您可以添加快捷方式以在StackOverflow中搜索突出显示的术语.杰夫阿特伍德写了他在Google搜索VS.NET宏博客条目中与Google做类似的事情.

使用此方法可以突出显示术语或错误消息(或IDE中的任何其他可选文本),按快捷键,然后在StackOverflow上查看所有匹配的结果.

我确信在其他IDE中也有办法做到这一点.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有