Pregunta

Bueno, esto es solo una idea loca que tengo. Stack Overflow se ve muy estructurado e integrable en aplicaciones de desarrollo. Entonces, ¿sería posible, incluso útil, tener un complemento de desbordamiento de pila para, por ejemplo, Eclipse?

¿Qué funciones de Desbordamiento de pila desea que se integren directamente en su IDE para que pueda usarlo " nativamente " sin cambiar a un navegador?

EDITAR: Estoy pensando en formas de integración más profunda que simplemente usando la página web dentro del IDE. Al igual que cuando usa una cierta clase de Java y tiene un problema, las respuestas de SO pueden estallar. Probablemente haya casos en los que algo como esto sea molesto, pero otros pueden ser muy útiles.

¿Fue útil?

Solución

Siguiendo la respuesta de Josh. Esta macro de VS buscará en StackOverflow el texto resaltado en el IDE de Visual Studio. Solo resalta y presiona 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

Para instalar:

  1. vaya a Herramientas - Macros - IDE
  2. cree un nuevo Módulo con un nombre de su elección en " MyMacros " ;. O usa un módulo existente.
  3. pega el código anterior en el módulo
  4. agregue una referencia al espacio de nombres System.Web (para HttpUtility) al módulo
  5. cierra la ventana de macro IDE
  6. vaya a Herramientas - Opciones - Entorno - Teclado
  7. escribe " google " en el cuadro de comandos Comandos que contienen texto. La macro SearchGoogleForSelectedText debería aparecer
  8. haga clic en el cuadro de texto Presione las teclas de acceso directo, luego presione ALT + F1
  9. haz clic en el botón Asignar
  10. haz clic en Aceptar

Todo esto está tomado de Macro de Búsqueda de Google VS de Jeff Atwood , solo se modificó para buscar StackOverflow en su lugar.

Otros consejos

No creo que pueda realizar ningún trabajo con SO integrado en un IDE. Es casi tan malo, si no peor, que integrar Digg / Reddit en un IDE.

Si StackOverflow puede comenzar a identificar el idioma que contiene cada fragmento de código, entonces podría ver un complemento de finalización de código / fragmento de código en un IDE que responde a una sintaxis especial para realizar búsquedas en SO e insertar la porción de código de aceptada respuestas.

Por ejemplo: en mi fuente podría escribir:

//# read an XML file

La sintaxis de // # solicita al complemento que inicie una búsqueda y muestre una lista de títulos de preguntas. Cuando elijo uno, inserta la parte del código de la respuesta aceptada.

Tienes el complemento RSS para que Eclipse lea el StackOverflow alimentación.

Pero estoy contigo, un plugin SO Eclipse sería realmente genial.

Puede configurarlo como su página de inicio en Visual Studio.

No estoy seguro de qué beneficio proporcionaría esto ... pero a cada uno lo suyo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top