Integrar Stack Overflow em IDEs?
-
02-07-2019 - |
Pergunta
Ok, esta é apenas uma ideia louca que eu tenho. Stack Overflow parece muito estruturado e integrável em aplicações de desenvolvimento. Assim, seria possível, mesmo útil, para ter um plugin Stack Overflow para, digamos, Eclipse?
Quais recursos de estouro de pilha que gostaria de ter integrado diretamente em seu IDE para que você possa usá-lo "nativamente" sem mudar para um navegador?
EDIT: Estou pensando em formas de integração mais profunda do que apenas usando a página web dentro do IDE. Como quando você usa uma certa classe Java e tem um problema, respostas de SO pode incendiar-se. Provavelmente haveria casos em que algo como isso é irritante, mas outros podem ser muito útil.
Solução
No seguimento resposta de Josh. Este Macro VS irá procurar StackOverflow para o texto destacado no Visual Studio IDE. destaque apenas e pressione 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:
- vá em Ferramentas - Macros - IDE
- Crie um novo módulo com um nome de sua escolha em "MyMacros". Ou usar um módulo existente.
- cole o código acima para o módulo
- adicionar uma referência ao espaço de nomes System.Web (para HttpUtility) para o módulo
- Feche a janela do IDE macro
- vá em Ferramentas - Opções - Ambiente - Teclado
- Tipo de "google" na caixa de texto que contém comandos show. A macro SearchGoogleForSelectedText deve aparecer
- clique na caixa de texto Pressione as teclas de atalho, em seguida, pressione ALT + F1
- clique no botão Atribuir
- clique em OK
Isso tudo é tirado Google Search VS Macro pós de Jeff Atwood , apenas modificado para procurar StackOverflow vez.
Outras dicas
Eu não acho que vou ser capaz de obter qualquer trabalho feito com SO integrados em um IDE. É quase tão ruim, se não pior do que integrar Digg / Reddit em um IDE.
No Visual Studio, você pode adicionar um atalho para procurar um termo em destaque na StackOverflow. Jeff Atwood escreveu sobre fazer algo semelhante com o Google em seu Google busca VS.NET macro entrada de blog.
Usando essa abordagem permitirá que você para destacar um termo ou mensagem de erro (ou qualquer outro texto selecionável no IDE), pressione as teclas de atalho, e depois ver todos os resultados correspondentes em StackOverflow.
Eu tenho certeza que há uma maneira de fazer isso em outro IDE do bem.
Se StackOverflow pode começar a identificar a linguagem que cada trecho de código contém, então eu podia ver um código-conclusão / trecho de código plugin para um IDE que responde a uma sintaxe especial para a realização de pesquisas sobre SO e inserindo a parte do código de aceite respostas.
Por exemplo: na minha fonte que eu poderia digitar:
//# read an XML file
O // # sintaxe solicita que o plug-in para iniciar uma busca e exibir uma lista de títulos de interrogação. Quando eu escolher um, ele insere a parte do código da resposta aceita.
Eu não sei sobre Eclipse, mas para Visual Studio, se alguém realmente queria isso, eles poderiam facilmente adicionar o feed RSS SO para o "Start Página News Channel" para a lista de perguntas SO apareceu na página inicial, ou mesmo melhor, reduzi-lo com uma tag ( como para C # ). Não é exatamente "integração", mas que iria fornecer um rápido olhar para as coisas recentes com muito pouco esforço. No entanto, não sei como "útil" que seria.
Você tem a RSS plug-in para Eclipse para ler a StackOverflow feed.
Mas eu estou com você, um plugin SO Eclipse seria muito legal.
Você poderia simplesmente defini-lo como a sua página inicial no Visual Studio.
Não sei o que beneficiará isso daria ... mas cada um na sua.