你什么时候使用IDE?

时间:2022-01-20 21:04:26

I know that some people swear against using a language-specific IDE ever (vim/emacs or die! type stuff) and that some people are really uncomfortable with coding/compiling in the terminal at all, so my question has the following parts.

我知道有些人发誓不使用特定于语言的IDE(vim / emacs或die!type stuff),并且有些人对终端中的编码/编译感到非常不舒服,所以我的问题有以下几个部分。

  • When do you switch from one to the other
  • 你什么时候从一个切换到另一个

  • Is it even necessary to know both? If not, which should you know?
  • 是否有必要同时了解两者?如果没有,你应该知道哪一个?

  • Lightweight or Heavyweight IDEs? (just code highlighting or every feature you could imagine)
  • 轻量级或重量级IDE? (只是代码突出显示或您可以想象的每个功能)

  • What IDE do you recommend in general, and why?
  • 你一般推荐什么IDE?为什么?

Feel free to answer all, some, or none.

随意回答所有,部分或全部。


Short summary so far:

截至目前的简短摘要:

IDEs

  • Big Projects
  • GUIs
  • Easy Version Control Integration?
  • 简易版本控制集成?

Text Editors

  • Quick/Small projects
  • Adapts to other languages more easily
  • 更容易适应其他语言

  • Less overhead

21 个解决方案

#1


5  

IDE usage is very subjective to personal opinion. With that disclaimer, here's mine.

IDE的使用对个人意见非常主观。有了这个免责声明,这是我的。

Know your tools and know your platforms. Developing software is your domain, so be good at it.

了解您的工具并了解您的平台。开发软件是您的领域,所以要擅长它。

When do you switch? When your knowledge tells your intuition that it would be easier with the other tool.

你什么时候换的?当您的知识告诉您的直觉时,使用其他工具会更容易。

Should you know both? I would argue that you should know everything about working with your platform. Low level knowledge makes higher level applications easier to understand.

你应该知道吗?我认为你应该知道有关使用你的平台的一切。低级知识使更高级别的应用程序更易于理解。

Lightweight or heavyweight depends on the task at hand. Both are appropriate at times.

轻量级或重量级取决于手头的任务。两者都有时是合适的。

I can't recommend any one IDE, it depends on your application's platform(s) and what you, the developer, are comfortable with. If you're doing .NET, Visual Studio on Windows is probably the best, but that doesn't mean you can throw out Notepad. For Java on Linux, Eclipse is great, but don't discard vim.

我不推荐任何一个IDE,它取决于您的应用程序的平台以及您,开发人员所熟悉的内容。如果你正在使用.NET,Windows上的Visual Studio可能是最好的,但这并不意味着你可以扔掉记事本。对于Linux上的Java,Eclipse很棒,但不要丢弃vim。

Hey, Front Page is probably the right tool for the job to some people (ouch, yes, I said it. /me ducks).

嘿,Front Page可能是适合某些人工作的合适工具(哎呀,是的,我说过。/我是鸭子)。

#2


3  

As several other people have said, which IDE you use or if you use one at all is heavily dependent on the language your developing in, the scale of the project, and the platform your working on. Although I've never encamped with either the Vi or Emacs guys I do use a number of other editing tools in roughly this language breakdown:

正如其他几个人所说的那样,您使用的IDE或者您使用的IDE在很大程度上取决于您所开发的语言,项目的规模以及您所使用的平台。虽然我从未安排过使用Vi或Emacs的人,但我大致使用了大量其他编辑工具来解决这个问题:

C#, or anything else .Net: Visual Studio. There is no serious competition, the CLR languages beg for syntax highlighting, refactoring, and advanced file management. Thankfully Microsoft got this one right and the Express editions are an incredible value.

C#,或其他任何.Net:Visual Studio。没有严重的竞争,CLR语言要求语法突出显示,重构和高级文件管理。值得庆幸的是,微软得到了这一点,Express版本具有令人难以置信的价值。

C++: I haven't touched it in a while, but I would typically view the code in Visual Studio, but compile through batch files, which had a lot to do with the eccentricities of the particular embedded platform I was working on.

C ++:我有一段时间没有触及它,但我通常会在Visual Studio中查看代码,但是通过批处理文件进行编译,这与我正在处理的特定嵌入式平台的怪癖有很大关系。

Python: I recommend Stani's Python Editor if you need something with bells and whistles, but Python is so direct in its structure that I usually end up just using Scite. It does everything you really need in a Python editor.

Python:我推荐Stani的Python编辑器,如果你需要花花公子和口哨的东西,但Python的结构是如此直接,我通常最终只使用Scite。它可以在Python编辑器中完成您真正需要的一切。

SQL: Notepad++ or, if your doing heavy lifting, any supported editor + SQL Prompt.

SQL:Notepad ++,或者,如果你做得很重,任何支持的编辑器+ SQL提示。

Java: I hear good things about Eclipse, but Java is evil so I don't touch it.

Java:我听说过关于Eclipse的好东西,但Java是邪恶的,所以我不碰它。

PHP, Perl, Javascript, BASH, or most other languages: Notepad++ on Windows, Scite on Linux.

PHP,Perl,Javascript,BASH或大多数其他语言:Windows上的Notepad ++,Linux上的Scite。

Although switching between all these IDEs can be troublesome, especially when a feature you love in one is missing from another, the benefits are to be found in using the best balanced tool for the job your doing. I switch IDEs all the time as my needs vary and I would encourage others to as well. Having worked on a limited number of projects, of limited scale, on particular platforms I hardly know all the use cases and I'm sure there are plenty of other situations and code editors out there that pair up in unique and wonderfully functional ways.

尽管在所有这些IDE之间进行切换可能会很麻烦,尤其是当您喜欢的功能在另一个功能中丢失时,可以在使用最佳平衡工具来实现您的工作。我随着需求的变化一直在切换IDE,我也会鼓励其他人。我在有限数量的项目上工作,在特定的平台上,我几乎不知道所有的用例,我确信还有很多其他的情况和代码编辑器,它们以独特和奇妙的功能方式配对。

#3


2  

Personally, I almost never use an IDE. I use vim/make almost exclusively. There's lots of benefits to this:

就个人而言,我几乎从不使用IDE。我几乎完全使用vim / make。这有很多好处:

  • Totally language agnostic. Once some commands and shortcuts are memorized, they work with all of my projects
  • 完全与语言无关。一旦记住了一些命令和快捷方式,它们就可以与我的所有项目一起使用

  • Parts are easy to swap in and out. If I want to switch compilers, I change the variable in my makefile.
  • 零件易于更换。如果我想切换编译器,我在makefile中更改变量。

  • "configuration agnostic". No matter how the settings are, I can develop. No GUI? No problem. Different desktop environments? No problem. There are even ports of vim to Windows. I develop on my local machine and when I'm ssh-ed into a server in the same manner.
  • “配置不可知”。无论设置如何,我都可以发展。没有GUI?没问题。不同的桌面环境?没问题。 Windows甚至还有vim的端口。我在我的本地机器上开发,当我以相同的方式进入服务器时。

There are also some downsides:

还有一些缺点:

  • Vim is hard to learn. I'm not even going to lie about this. It takes time to acquire some power.
  • Vim很难学。我甚至不会为此撒谎。获得一些力量需要时间。

  • Mostly limited to *NIX. Yeah, there are things like cygwin. Yeah, there are ports of Vim to Windows. It's somehow not exactly the same.
  • 主要限于* NIX。是的,有像cygwin这样的东西。是的,有Vim到Windows的端口。它在某种程度上并不完全相同。

  • It's possible that if I learned an IDE that focused on a specific language, it'd have some features that would be pretty powerful for that language.
  • 如果我学习了一种专注于特定语言的IDE,它可能会有一些对该语言非常强大的功能。

#4


1  

I usually use the IDE only for debugging (which IDE depends on the language/platform), and use my personal editor for the actual editing of code.

我通常只使用IDE进行调试(哪个IDE依赖于语言/平台),并使用我的个人编辑器来实际编辑代码。

I feel that using one editor for everything is a much better approach than relearning key-bindings for every language/platform change I make.

我觉得使用一个编辑器来处理所有事情比重新学习我所做的每个语言/平台更改的密钥绑定要好得多。

#5


1  

In my experience, if the project involves building a GUI, an IDE is an invaluable tool.

根据我的经验,如果项目涉及构建GUI,IDE是一个非常宝贵的工具。

If it's small, "gut-level", or a web service, I'd go exclusively text editor.

如果它很小,“直觉级”或网络服务,我会专门用文本编辑器。

#6


1  

My rule of thumb is that if the language and IDE are tied together, then use the IDE (see anything using MS project files). Otherwise any editor will do. Personally I like visual Slickedit, or notepad++ if the company isn't going to shell out for slickedit. On the linux side I use Emacs, which you can consider a heavyweight editor, or a lightweight OS.

我的经验法则是,如果语言和IDE绑在一起,那么使用IDE(使用MS项目文件查看任何内容)。否则任何编辑都会这样做。我个人喜欢视觉Slickedit,或者记事本++,如果该公司不打算用slickedit。在linux方面,我使用Emacs,您可以将其视为重量级编辑器或轻量级操作系统。

#7


1  

While I use VIM and non-IDE type tools, I have to admit that Visual Studio (especially 2005/2008) is possibly one of the best programs ever written. The intelli-sense and debugging tools are well worth there weight in gold. I find myself being able to write code very fast. It is especially helpful in cases where you are utilizing frameworks (e.g. .NET) and need that little extra guide to tell you what functions are available off an object without having to refer to the help documentation. It is hard to beat auto-code formatting, bookmarking, immersive debugging, refactoring, source control integration, and plug-in support.

虽然我使用VIM和非IDE类型的工具,但我不得不承认Visual Studio(特别是2005/2008)可能是有史以来最好的程序之一。智能和调试工具非常值得用金重量。我发现自己能够非常快速地编写代码。它在您使用框架(例如.NET)的情况下特别有用,并且需要一些额外的指南来告诉您对象可用的功能,而无需参考帮助文档。很难打败自动代码格式化,书签,沉浸式调试,重构,源代码控制集成和插件支持。

For everything else, I use VIM. I have to admit I'm still learning how to use VIM well, but I already know it is powerful. It truly is a matter of choosing the right tool for the job.

对于其他一切,我使用VIM。我不得不承认我还在学习如何使用VIM,但我已经知道它很强大。这真的是为工作选择合适的工具。

EDIT: One thing I will mention is that you pick a tool or two and learn it very well. Become an expert at it. Learn the ins/outs and explore the nitty gritty secret stuff your editor/IDE can do. The more you do this, it will matter less what the tool is.

编辑:我要提到的一件事是你选择一两个工具并且学得很好。成为它的专家。学习ins / OUT并探索编辑器/ IDE可以做的细节秘密。你做的越多,工具的重要性就越小。

#8


1  

For me the break-down is by technology.

对我来说,分解是技术。

I use Notepad++ or vim for anything in the LAMP stack - I've never found anything particularly useful in the IDEs for those technologies (unless you could the MySQL Client Tools as an IDE, which I use when I am able to).

我在LAMP堆栈中使用Notepad ++或vim进行任何操作 - 我从未在这些技术的IDE中找到任何特别有用的东西(除非你能将MySQL客户端工具作为IDE,我能够使用它)。

When working in the WISC (Windows, IIS, SQL Server, C#) stack, on the other hand, I use an IDE - one of the Visual Studio products depending on which project I'm working on.

另一方面,当在WISC(Windows,IIS,SQL Server,C#)堆栈中工作时,我使用IDE - 一种Visual Studio产品,具体取决于我正在处理的项目。

A lot of this probably has to do with the sorts of projects I work on. I work in PHP in the LAMP stack, so I don't have to handle bunches of external libraries the way I probably would if I was using perl, and the projects I develop on LAMP are usually simpler than my Windows development. In .Net, on the other hand, navigating the libraries can be quite difficult without the IDE, and the debugging can (I find) be more complicated. Plus when developing web services using SOAP, I wouldn't even want to think about doing it without the tools Microsoft supplies.

很多这可能与我工作的各种项目有关。我在LAMP堆栈中使用PHP工作,所以我不必像我使用perl那样处理一堆外部库,而我在LAMP上开发的项目通常比我的Windows开发更简单。另一方面,在.Net中,如果没有IDE,导航库可能会非常困难,并且调试可以(我发现)更复杂。此外,在使用SOAP开发Web服务时,如果没有Microsoft提供的工具,我甚至不想考虑这样做。

#9


1  

I find that IDEs for C and Python don't buy you much, at least the ones that are available for Linux. So, when I write C and Python code, I will usually use GVIM + Ctags + standalone debugger + make.

我发现C和Python的IDE并没有给你带来多少收获,至少是那些可用于Linux的IDE。所以,当我编写C和Python代码时,我通常会使用GVIM + Ctags +独立调试器+ make。

However, in the case of Java, Eclipse offers a Java programmer so much that it's hard not use it and after a while become spoiled to the extent that it's just too painful to go back to writing Java code in VIM.

但是,在Java的情况下,Eclipse提供了一个Java程序员,以至于很难不使用它,并且在一段时间之后变得被破坏,以至于回到在VIM中编写Java代码太痛苦了。

Strangely enough, I haven't had the same experience when using Visual Studio for C projects (even though I do find its debugger indispensable). One reason for this is that I prefer to manage the build scripts myself. Even with Eclipse, I would still use ant so that I know exactly what is happening during each build. Admittedly, you can of course look at the build configurations in both Visual Studio and Eclipse, but this just isn't as direct as seeing the exact command used. That being said, I'm still forced to use Visual Studio for builds mainly because of convention, as there other people working on these projects, but I will still edit the code in GVIM (with the help of ctags).

奇怪的是,我在使用Visual Studio for C项目时没有相同的经验(尽管我确实发现它的调试器是必不可少的)。其中一个原因是我更喜欢自己管理构建脚本。即使使用Eclipse,我仍然会使用ant,以便我确切知道每次构建期间发生了什么。不可否认,您当然可以在Visual Studio和Eclipse中查看构建配置,但这并不像查看使用的确切命令那样直接。话虽这么说,我仍然*使用Visual Studio进行构建主要是因为常规,因为有其他人在这些项目上工作,但我仍然会在GVIM中编辑代码(借助ctags)。

#10


1  

The ONLY time when you have to do compile/link using the commandline is when you work on a pure Linux server with no GUI installed - in this case your ONLY REAL OPTION is emacs. (Using anything else is pure masochism).

您必须使用命令行进行编译/链接的唯一时间是您在没有安装GUI的纯Linux服务器上工作 - 在这种情况下,您的ONLY REAL OPTION是emacs。 (使用其他任何东西都是纯粹的受虐狂)。

At all other times it would be sheer stupidity not to use a mature IDE.

在其他任何时候,如果不使用成熟的IDE,那将是纯粹的愚蠢。

Your Questions:

When do you switch from one to the other

你什么时候从一个切换到另一个

(answered above)

Is it even necessary to know both? If not, which should you know?

是否有必要同时了解两者?如果没有,你应该知道哪一个?

That will depend on how keen you are on being a programmer AS WELL AS a systems administrator. The latter is called upon to support the former and to implement whatever is necessary to keep all systems running smoothly. To know both can NEVER be harmful, but if you insist on being a programmer only, then the necessity of knowing a specific IDE for the platform you choose is obvious.

这取决于你作为一名程序员是多么热衷于AS WELL作为系统管理员。后者被要求支持前者并实施任何必要的措施以保持所有系统顺利运行。要知道两者都不会有害,但如果你坚持只是一个程序员,那么了解你选择的平台的特定IDE的必要性是显而易见的。

Lightweight or Heavyweight IDEs? (just code highlighting or every feature you could imagine)

轻量级或重量级IDE? (只是代码突出显示或您可以想象的每个功能)

I assume the choice here refer to programmer only: there is no doubt that the more assistence your programming tool/environment can give you, and the more support you can get that allows you to focus on implementing your program spec. the better. So YES: HEAVYWEIGHT is the only sensible choice.

我假设这里的选择仅指程序员:毫无疑问,您的编程工具/环境可以为您提供更多的帮助,并且您可以获得的支持越多,您就可以专注于实现您的程序规范。更好。所以YES:HEAVYWEIGHT是唯一明智的选择。

What IDE do you recommend in general, and why?

你一般推荐什么IDE?为什么?

On a Windows platform this question is moot: whatever Mictrosoft recommends (and if you have the $$$). On Linux you have several choices: GTK-based (Gnome & company), QT-based (KDE & company), (if you're a sucker for punishment you can go for pure X and then you are more-or-less in for an interesting time) both Gnome and KDE have IDE's you can use. Third party IDE's, like eclipse, are available; they all enable you to develop GUI-applications that will run in whatever the user chooses as his GUI-environment. Some of these IDE's even allows a multiplicity of programming languages (that is the glory of Linux and FOSS: you have choices; you are not pinned to the "geography", not led to the slaughter, ...).

在Windows平台上,这个问题没有实际意义:无论Mictrosoft推荐什么(如果你有$$$)。在Linux上你有几个选择:基于GTK(Gnome和公司),基于QT(KDE和公司),(如果你是一个惩罚的傻瓜,你可以选择纯X然后你或多或少有趣的时间)Gnome和KDE都有你可以使用的IDE。第三方IDE,如eclipse,可用;它们都使您能够开发GUI应用程序,这些应用程序将以用户选择的GUI环境运行。其中一些IDE甚至允许多种编程语言(这是Linux和FOSS的荣耀:你有选择;你没有固定在“地理”,没有导致*,......)。

My personal choice of IDE (C++ only) is Ultimate++. It is source compatible with both Windows and Linux. The IDE is approaching a rich maturity AND it offers 'everything-plus' that other C++-IDE's are aspiring to. (I know this is a plug, but I've got good reason: give it a try.)

我个人选择的IDE(仅限C ++)是Ultimate ++。它与Windows和Linux兼容。 IDE正在接近丰富的成熟度,它提供了其他C ++ - IDE所渴望的“所有东西”。 (我知道这是一个插件,但我有充分的理由:试一试。)

HTH

#11


0  

I've done both, but the debugger is really a great tool to have.

我已经做到了,但调试器真的是一个很棒的工具。

You can get pretty far just adding debug output and rebuilding, and that even forces you to use your noodle and the scientific method a bit more, but in the end (imo) the debugger just cannot be denied... it lets you really get in there and explore the system during runtime.

你只需添加调试输出和重建就可以了,这甚至会迫使你更多地使用你的面条和科学方法,但最后(imo)调试器就不能被拒绝了......它让你真正得到在那里并在运行时探索系统。

#12


0  

There are opportunities for both specialization and generality. In my own work, I've found that flexibility and being able to ride a steep learning curve has paid off well.

专业化和普遍性都有机会。在我自己的工作中,我发现灵活性和能够驾驭陡峭的学习曲线已经得到了很好的回报。

#13


0  

I use an IDE whenever I'm using a language that's more suited to being written by a computer than by a human being, for example Java. It's far too verbose to write by hand without loads of auto-completion. Vim's auto-complete is never quite as good as a language-specific IDE.

每当我使用的语言更适合由计算机编写而不是人类(例如Java)时,我都会使用IDE。在没有自动完成负载的情况下手动编写是非常冗长的。 Vim的自动完成功能永远不如特定于语言的IDE。

For less wordy languages though, you can't beat a good Vim- or Emacs-like editor for churning out plaintext quickly.

对于不那么冗长的语言,你不能打败一个好的Vim或Emacs编辑器来快速制作明文。

#14


0  

If the project exceeds two or three source files, I tend to use an IDE.

如果项目超过两个或三个源文件,我倾向于使用IDE。

#15


0  

Once you've used an IDE with good (vs6 was not good, and most generic text editor's support for this is crude at best) intellisense-style prompting and auto-complete for a few weeks, you won't go back.

一旦你使用好的IDE(vs6不好,并且大多数通用文本编辑器对此的支持是最粗糙的)智能感知式提示和自动完成几周,你将不会回去。

#16


0  

I use vim for everything except Objective-C stuff, which I use xCode for. The Interface builder, error checking, debugging are quite valuable.

我使用vim除了Objective-C之外的所有内容,我使用xCode。接口构建器,错误检查,调试非常有价值。

However, I use a InputManager to let me use vim commands/key bindings in xCode, so I never really leave vim for anything ;)

但是,我使用InputManager让我在xCode中使用vim命令/键绑定,所以我从来没有真正离开vim的任何东西;)

#17


0  

I do all my coding in SciTE, my favorite editor, lightweight, with good syntax highlighting, and with shortcuts I am familiar with (or which I coded!).

我在SciTE中编写所有编码,我最喜欢的编辑器,轻量级,具有良好的语法高亮,以及我熟悉的快捷方式(或我编写的快捷方式!)。

Now, doing lot of Java at work, I also use Eclipse, which greatly improve with each version. I appreciate it is quite customizable, and very flexible about coding help, but I still do most of my editing in SciTE... Fortunately, the auto-detection/update of files edited elsewhere works quite well in Eclipse (although sometime with a sensible delay to analyze the reloaded class: we have big projects and not that much memory (1GB)).

现在,在工作中使用大量Java,我也使用Eclipse,每个版本都会大大改进。我很欣赏它是可定制的,并且对编码帮助非常灵活,但我仍然在SciTE中进行大部分编辑...幸运的是,在其他地方编辑的文件的自动检测/更新在Eclipse中运行良好(尽管有时候是明智的延迟分析重新加载的类:我们有大项目而没有那么多内存(1GB))。

I appreciate Eclipse mainly for two things (we compile with a special ant process and we don't really do refactoring): quick navigation in the project, particularly find a class and call hierarchy, and of course debugging.

我很欣赏Eclipse主要用于两件事(我们使用特殊的ant进程编译,我们并不真正进行重构):在项目中快速导航,特别是找到一个类和调用层次结构,当然还有调试。

I don't think these are so much distinct worlds, these are just tools, quite complementary: I won't fire Eclipse to do a quick edit of a small HTML file, I can't debug in SciTE. So I use both.

我不认为这些是那么多不同的世界,这些只是工具,相当互补:我不会激活Eclipse来快速编辑一个小的HTML文件,我无法在SciTE中调试。所以我同时使用它们。

#18


0  

I haven't used an IDE since the last time I created a native GUI app, lo those many years ago. And, even then, I pretty much just used the IDE to create the GUI forms and my own editor for the actual code once I figured out how to plug an alternate editor into the IDE.

自从我上次创建原生GUI应用程序以来,我没有使用过IDE。而且,即便如此,一旦我弄清楚如何将备用编辑器插入IDE,我几乎只使用IDE来创建GUI表单和我自己的编辑器来获取实际代码。

I'm not a "give me vim, or give me death!" fanatic, but my experience with having used IDEs and having used a bunch of xterms running vim has left me with the impression that the only thing IDEs really contribute, for me, is drag-n-drop form editing, which is something I don't need, given how long it's been since I last did anything with a non-web-based GUI.

我不是“给我vim,或者给我死!”*,但我使用IDE并使用一堆运行vim的xterms的经验让我觉得IDE对我来说唯一真正贡献的是拖放式表单编辑,这是我不喜欢的事情。我需要,因为我上次使用非基于Web的GUI做了多长时间。

#19


0  

re: when? I use Eclipse for Java and debugging. I keep jEdit open with a variety of Groovy scripts available. I also use Cygwin's bash in 3 shell windows for executing Ant tasks, searching etc. I can use Bash aliases for some truly powerful stuff with respect to running our server and client.

重新:什么时候?我使用Eclipse进行Java和调试。我使用各种Groovy脚本保持jEdit开放。我还在3个shell窗口中使用Cygwin的bash来执行Ant任务,搜索等。我可以使用Bash别名来运行我们的服务器和客户端。

re: both? Yes, it is vital to know both IDE and non-IDE development. It doesn't matter which IDE but a debugger is essential.

re:两个?是的,了解IDE和非IDE开发至关重要。哪个IDE无关紧要,但调试器至关重要。

re: which? For Java, Eclipse if you are paying (free) and Idea if someone else is ;-) Actually, I prefer Eclipse but I think that Idea has better support for Groovy so that it is attractive to me.

重新:哪个?对于Java,Eclipse,如果你付费(免费)和Idea,如果其他人是;-)实际上,我更喜欢Eclipse,但我认为Idea更好地支持Groovy,因此它对我很有吸引力。

#20


0  

A decent code highlighting editor is all I use.

我使用的是一个体面的代码突出显示编辑器。

#21


-1  

I use IDE for debugging, or for every big project that require to go on many different file. Lot of IDE have quick click to move from one class to an other. IDE for that is more productive. I use IDE too when I use big FrameWork that has a lot of folder and file, more easy to manage.

我使用IDE进行调试,或者用于需要进行许多不同文件的每个大项目。很多IDE都可以快速点击从一个类移动到另一个类。 IDE的效率更高。当我使用具有大量文件夹和文件的大型FrameWork时,我也使用IDE,更易于管理。

Update because question has been updated

更新,因为问题已更新

When do you switch from one to the other?

你什么时候从一个切换到另一个?

I switch for small change in CSS or other small task,

我切换CSS或其他小任务的小变化,

Is it even necessary to know both? If not, which should you know?

是否有必要同时了解两者?如果没有,你应该知道哪一个?

Some time when building form (example in C#) it's very much profitable to use the IDE. Samething for debugging with breakpoint. I think both are required.

有时候构建表单(例如C#中)使用IDE非常有利可图。用于使用断点进行调试的内容。我认为两者都是必需的。

Lightweight or Heavyweight IDEs? (just code highlighting or every feature you could imagine)

轻量级或重量级IDE? (只是代码突出显示或您可以想象的每个功能)

Code hightlight is fine for small job, but when you have big stuff to do, bigger IDE with autocomplete, real-time error check and other refactoring tool is necessary to be more productive.

代码高亮度适用于小型工作,但是当您需要做大事时,需要使用具有自动完成功能,实时错误检查和其他重构工具的更大IDE来提高工作效率。

What IDE do you recommend in general, and why?

你一般推荐什么IDE?为什么?

Visual Studio is great for .net, Eclipse for Java.

Visual Studio非常适合.net,Eclipse for Java。

#1


5  

IDE usage is very subjective to personal opinion. With that disclaimer, here's mine.

IDE的使用对个人意见非常主观。有了这个免责声明,这是我的。

Know your tools and know your platforms. Developing software is your domain, so be good at it.

了解您的工具并了解您的平台。开发软件是您的领域,所以要擅长它。

When do you switch? When your knowledge tells your intuition that it would be easier with the other tool.

你什么时候换的?当您的知识告诉您的直觉时,使用其他工具会更容易。

Should you know both? I would argue that you should know everything about working with your platform. Low level knowledge makes higher level applications easier to understand.

你应该知道吗?我认为你应该知道有关使用你的平台的一切。低级知识使更高级别的应用程序更易于理解。

Lightweight or heavyweight depends on the task at hand. Both are appropriate at times.

轻量级或重量级取决于手头的任务。两者都有时是合适的。

I can't recommend any one IDE, it depends on your application's platform(s) and what you, the developer, are comfortable with. If you're doing .NET, Visual Studio on Windows is probably the best, but that doesn't mean you can throw out Notepad. For Java on Linux, Eclipse is great, but don't discard vim.

我不推荐任何一个IDE,它取决于您的应用程序的平台以及您,开发人员所熟悉的内容。如果你正在使用.NET,Windows上的Visual Studio可能是最好的,但这并不意味着你可以扔掉记事本。对于Linux上的Java,Eclipse很棒,但不要丢弃vim。

Hey, Front Page is probably the right tool for the job to some people (ouch, yes, I said it. /me ducks).

嘿,Front Page可能是适合某些人工作的合适工具(哎呀,是的,我说过。/我是鸭子)。

#2


3  

As several other people have said, which IDE you use or if you use one at all is heavily dependent on the language your developing in, the scale of the project, and the platform your working on. Although I've never encamped with either the Vi or Emacs guys I do use a number of other editing tools in roughly this language breakdown:

正如其他几个人所说的那样,您使用的IDE或者您使用的IDE在很大程度上取决于您所开发的语言,项目的规模以及您所使用的平台。虽然我从未安排过使用Vi或Emacs的人,但我大致使用了大量其他编辑工具来解决这个问题:

C#, or anything else .Net: Visual Studio. There is no serious competition, the CLR languages beg for syntax highlighting, refactoring, and advanced file management. Thankfully Microsoft got this one right and the Express editions are an incredible value.

C#,或其他任何.Net:Visual Studio。没有严重的竞争,CLR语言要求语法突出显示,重构和高级文件管理。值得庆幸的是,微软得到了这一点,Express版本具有令人难以置信的价值。

C++: I haven't touched it in a while, but I would typically view the code in Visual Studio, but compile through batch files, which had a lot to do with the eccentricities of the particular embedded platform I was working on.

C ++:我有一段时间没有触及它,但我通常会在Visual Studio中查看代码,但是通过批处理文件进行编译,这与我正在处理的特定嵌入式平台的怪癖有很大关系。

Python: I recommend Stani's Python Editor if you need something with bells and whistles, but Python is so direct in its structure that I usually end up just using Scite. It does everything you really need in a Python editor.

Python:我推荐Stani的Python编辑器,如果你需要花花公子和口哨的东西,但Python的结构是如此直接,我通常最终只使用Scite。它可以在Python编辑器中完成您真正需要的一切。

SQL: Notepad++ or, if your doing heavy lifting, any supported editor + SQL Prompt.

SQL:Notepad ++,或者,如果你做得很重,任何支持的编辑器+ SQL提示。

Java: I hear good things about Eclipse, but Java is evil so I don't touch it.

Java:我听说过关于Eclipse的好东西,但Java是邪恶的,所以我不碰它。

PHP, Perl, Javascript, BASH, or most other languages: Notepad++ on Windows, Scite on Linux.

PHP,Perl,Javascript,BASH或大多数其他语言:Windows上的Notepad ++,Linux上的Scite。

Although switching between all these IDEs can be troublesome, especially when a feature you love in one is missing from another, the benefits are to be found in using the best balanced tool for the job your doing. I switch IDEs all the time as my needs vary and I would encourage others to as well. Having worked on a limited number of projects, of limited scale, on particular platforms I hardly know all the use cases and I'm sure there are plenty of other situations and code editors out there that pair up in unique and wonderfully functional ways.

尽管在所有这些IDE之间进行切换可能会很麻烦,尤其是当您喜欢的功能在另一个功能中丢失时,可以在使用最佳平衡工具来实现您的工作。我随着需求的变化一直在切换IDE,我也会鼓励其他人。我在有限数量的项目上工作,在特定的平台上,我几乎不知道所有的用例,我确信还有很多其他的情况和代码编辑器,它们以独特和奇妙的功能方式配对。

#3


2  

Personally, I almost never use an IDE. I use vim/make almost exclusively. There's lots of benefits to this:

就个人而言,我几乎从不使用IDE。我几乎完全使用vim / make。这有很多好处:

  • Totally language agnostic. Once some commands and shortcuts are memorized, they work with all of my projects
  • 完全与语言无关。一旦记住了一些命令和快捷方式,它们就可以与我的所有项目一起使用

  • Parts are easy to swap in and out. If I want to switch compilers, I change the variable in my makefile.
  • 零件易于更换。如果我想切换编译器,我在makefile中更改变量。

  • "configuration agnostic". No matter how the settings are, I can develop. No GUI? No problem. Different desktop environments? No problem. There are even ports of vim to Windows. I develop on my local machine and when I'm ssh-ed into a server in the same manner.
  • “配置不可知”。无论设置如何,我都可以发展。没有GUI?没问题。不同的桌面环境?没问题。 Windows甚至还有vim的端口。我在我的本地机器上开发,当我以相同的方式进入服务器时。

There are also some downsides:

还有一些缺点:

  • Vim is hard to learn. I'm not even going to lie about this. It takes time to acquire some power.
  • Vim很难学。我甚至不会为此撒谎。获得一些力量需要时间。

  • Mostly limited to *NIX. Yeah, there are things like cygwin. Yeah, there are ports of Vim to Windows. It's somehow not exactly the same.
  • 主要限于* NIX。是的,有像cygwin这样的东西。是的,有Vim到Windows的端口。它在某种程度上并不完全相同。

  • It's possible that if I learned an IDE that focused on a specific language, it'd have some features that would be pretty powerful for that language.
  • 如果我学习了一种专注于特定语言的IDE,它可能会有一些对该语言非常强大的功能。

#4


1  

I usually use the IDE only for debugging (which IDE depends on the language/platform), and use my personal editor for the actual editing of code.

我通常只使用IDE进行调试(哪个IDE依赖于语言/平台),并使用我的个人编辑器来实际编辑代码。

I feel that using one editor for everything is a much better approach than relearning key-bindings for every language/platform change I make.

我觉得使用一个编辑器来处理所有事情比重新学习我所做的每个语言/平台更改的密钥绑定要好得多。

#5


1  

In my experience, if the project involves building a GUI, an IDE is an invaluable tool.

根据我的经验,如果项目涉及构建GUI,IDE是一个非常宝贵的工具。

If it's small, "gut-level", or a web service, I'd go exclusively text editor.

如果它很小,“直觉级”或网络服务,我会专门用文本编辑器。

#6


1  

My rule of thumb is that if the language and IDE are tied together, then use the IDE (see anything using MS project files). Otherwise any editor will do. Personally I like visual Slickedit, or notepad++ if the company isn't going to shell out for slickedit. On the linux side I use Emacs, which you can consider a heavyweight editor, or a lightweight OS.

我的经验法则是,如果语言和IDE绑在一起,那么使用IDE(使用MS项目文件查看任何内容)。否则任何编辑都会这样做。我个人喜欢视觉Slickedit,或者记事本++,如果该公司不打算用slickedit。在linux方面,我使用Emacs,您可以将其视为重量级编辑器或轻量级操作系统。

#7


1  

While I use VIM and non-IDE type tools, I have to admit that Visual Studio (especially 2005/2008) is possibly one of the best programs ever written. The intelli-sense and debugging tools are well worth there weight in gold. I find myself being able to write code very fast. It is especially helpful in cases where you are utilizing frameworks (e.g. .NET) and need that little extra guide to tell you what functions are available off an object without having to refer to the help documentation. It is hard to beat auto-code formatting, bookmarking, immersive debugging, refactoring, source control integration, and plug-in support.

虽然我使用VIM和非IDE类型的工具,但我不得不承认Visual Studio(特别是2005/2008)可能是有史以来最好的程序之一。智能和调试工具非常值得用金重量。我发现自己能够非常快速地编写代码。它在您使用框架(例如.NET)的情况下特别有用,并且需要一些额外的指南来告诉您对象可用的功能,而无需参考帮助文档。很难打败自动代码格式化,书签,沉浸式调试,重构,源代码控制集成和插件支持。

For everything else, I use VIM. I have to admit I'm still learning how to use VIM well, but I already know it is powerful. It truly is a matter of choosing the right tool for the job.

对于其他一切,我使用VIM。我不得不承认我还在学习如何使用VIM,但我已经知道它很强大。这真的是为工作选择合适的工具。

EDIT: One thing I will mention is that you pick a tool or two and learn it very well. Become an expert at it. Learn the ins/outs and explore the nitty gritty secret stuff your editor/IDE can do. The more you do this, it will matter less what the tool is.

编辑:我要提到的一件事是你选择一两个工具并且学得很好。成为它的专家。学习ins / OUT并探索编辑器/ IDE可以做的细节秘密。你做的越多,工具的重要性就越小。

#8


1  

For me the break-down is by technology.

对我来说,分解是技术。

I use Notepad++ or vim for anything in the LAMP stack - I've never found anything particularly useful in the IDEs for those technologies (unless you could the MySQL Client Tools as an IDE, which I use when I am able to).

我在LAMP堆栈中使用Notepad ++或vim进行任何操作 - 我从未在这些技术的IDE中找到任何特别有用的东西(除非你能将MySQL客户端工具作为IDE,我能够使用它)。

When working in the WISC (Windows, IIS, SQL Server, C#) stack, on the other hand, I use an IDE - one of the Visual Studio products depending on which project I'm working on.

另一方面,当在WISC(Windows,IIS,SQL Server,C#)堆栈中工作时,我使用IDE - 一种Visual Studio产品,具体取决于我正在处理的项目。

A lot of this probably has to do with the sorts of projects I work on. I work in PHP in the LAMP stack, so I don't have to handle bunches of external libraries the way I probably would if I was using perl, and the projects I develop on LAMP are usually simpler than my Windows development. In .Net, on the other hand, navigating the libraries can be quite difficult without the IDE, and the debugging can (I find) be more complicated. Plus when developing web services using SOAP, I wouldn't even want to think about doing it without the tools Microsoft supplies.

很多这可能与我工作的各种项目有关。我在LAMP堆栈中使用PHP工作,所以我不必像我使用perl那样处理一堆外部库,而我在LAMP上开发的项目通常比我的Windows开发更简单。另一方面,在.Net中,如果没有IDE,导航库可能会非常困难,并且调试可以(我发现)更复杂。此外,在使用SOAP开发Web服务时,如果没有Microsoft提供的工具,我甚至不想考虑这样做。

#9


1  

I find that IDEs for C and Python don't buy you much, at least the ones that are available for Linux. So, when I write C and Python code, I will usually use GVIM + Ctags + standalone debugger + make.

我发现C和Python的IDE并没有给你带来多少收获,至少是那些可用于Linux的IDE。所以,当我编写C和Python代码时,我通常会使用GVIM + Ctags +独立调试器+ make。

However, in the case of Java, Eclipse offers a Java programmer so much that it's hard not use it and after a while become spoiled to the extent that it's just too painful to go back to writing Java code in VIM.

但是,在Java的情况下,Eclipse提供了一个Java程序员,以至于很难不使用它,并且在一段时间之后变得被破坏,以至于回到在VIM中编写Java代码太痛苦了。

Strangely enough, I haven't had the same experience when using Visual Studio for C projects (even though I do find its debugger indispensable). One reason for this is that I prefer to manage the build scripts myself. Even with Eclipse, I would still use ant so that I know exactly what is happening during each build. Admittedly, you can of course look at the build configurations in both Visual Studio and Eclipse, but this just isn't as direct as seeing the exact command used. That being said, I'm still forced to use Visual Studio for builds mainly because of convention, as there other people working on these projects, but I will still edit the code in GVIM (with the help of ctags).

奇怪的是,我在使用Visual Studio for C项目时没有相同的经验(尽管我确实发现它的调试器是必不可少的)。其中一个原因是我更喜欢自己管理构建脚本。即使使用Eclipse,我仍然会使用ant,以便我确切知道每次构建期间发生了什么。不可否认,您当然可以在Visual Studio和Eclipse中查看构建配置,但这并不像查看使用的确切命令那样直接。话虽这么说,我仍然*使用Visual Studio进行构建主要是因为常规,因为有其他人在这些项目上工作,但我仍然会在GVIM中编辑代码(借助ctags)。

#10


1  

The ONLY time when you have to do compile/link using the commandline is when you work on a pure Linux server with no GUI installed - in this case your ONLY REAL OPTION is emacs. (Using anything else is pure masochism).

您必须使用命令行进行编译/链接的唯一时间是您在没有安装GUI的纯Linux服务器上工作 - 在这种情况下,您的ONLY REAL OPTION是emacs。 (使用其他任何东西都是纯粹的受虐狂)。

At all other times it would be sheer stupidity not to use a mature IDE.

在其他任何时候,如果不使用成熟的IDE,那将是纯粹的愚蠢。

Your Questions:

When do you switch from one to the other

你什么时候从一个切换到另一个

(answered above)

Is it even necessary to know both? If not, which should you know?

是否有必要同时了解两者?如果没有,你应该知道哪一个?

That will depend on how keen you are on being a programmer AS WELL AS a systems administrator. The latter is called upon to support the former and to implement whatever is necessary to keep all systems running smoothly. To know both can NEVER be harmful, but if you insist on being a programmer only, then the necessity of knowing a specific IDE for the platform you choose is obvious.

这取决于你作为一名程序员是多么热衷于AS WELL作为系统管理员。后者被要求支持前者并实施任何必要的措施以保持所有系统顺利运行。要知道两者都不会有害,但如果你坚持只是一个程序员,那么了解你选择的平台的特定IDE的必要性是显而易见的。

Lightweight or Heavyweight IDEs? (just code highlighting or every feature you could imagine)

轻量级或重量级IDE? (只是代码突出显示或您可以想象的每个功能)

I assume the choice here refer to programmer only: there is no doubt that the more assistence your programming tool/environment can give you, and the more support you can get that allows you to focus on implementing your program spec. the better. So YES: HEAVYWEIGHT is the only sensible choice.

我假设这里的选择仅指程序员:毫无疑问,您的编程工具/环境可以为您提供更多的帮助,并且您可以获得的支持越多,您就可以专注于实现您的程序规范。更好。所以YES:HEAVYWEIGHT是唯一明智的选择。

What IDE do you recommend in general, and why?

你一般推荐什么IDE?为什么?

On a Windows platform this question is moot: whatever Mictrosoft recommends (and if you have the $$$). On Linux you have several choices: GTK-based (Gnome & company), QT-based (KDE & company), (if you're a sucker for punishment you can go for pure X and then you are more-or-less in for an interesting time) both Gnome and KDE have IDE's you can use. Third party IDE's, like eclipse, are available; they all enable you to develop GUI-applications that will run in whatever the user chooses as his GUI-environment. Some of these IDE's even allows a multiplicity of programming languages (that is the glory of Linux and FOSS: you have choices; you are not pinned to the "geography", not led to the slaughter, ...).

在Windows平台上,这个问题没有实际意义:无论Mictrosoft推荐什么(如果你有$$$)。在Linux上你有几个选择:基于GTK(Gnome和公司),基于QT(KDE和公司),(如果你是一个惩罚的傻瓜,你可以选择纯X然后你或多或少有趣的时间)Gnome和KDE都有你可以使用的IDE。第三方IDE,如eclipse,可用;它们都使您能够开发GUI应用程序,这些应用程序将以用户选择的GUI环境运行。其中一些IDE甚至允许多种编程语言(这是Linux和FOSS的荣耀:你有选择;你没有固定在“地理”,没有导致*,......)。

My personal choice of IDE (C++ only) is Ultimate++. It is source compatible with both Windows and Linux. The IDE is approaching a rich maturity AND it offers 'everything-plus' that other C++-IDE's are aspiring to. (I know this is a plug, but I've got good reason: give it a try.)

我个人选择的IDE(仅限C ++)是Ultimate ++。它与Windows和Linux兼容。 IDE正在接近丰富的成熟度,它提供了其他C ++ - IDE所渴望的“所有东西”。 (我知道这是一个插件,但我有充分的理由:试一试。)

HTH

#11


0  

I've done both, but the debugger is really a great tool to have.

我已经做到了,但调试器真的是一个很棒的工具。

You can get pretty far just adding debug output and rebuilding, and that even forces you to use your noodle and the scientific method a bit more, but in the end (imo) the debugger just cannot be denied... it lets you really get in there and explore the system during runtime.

你只需添加调试输出和重建就可以了,这甚至会迫使你更多地使用你的面条和科学方法,但最后(imo)调试器就不能被拒绝了......它让你真正得到在那里并在运行时探索系统。

#12


0  

There are opportunities for both specialization and generality. In my own work, I've found that flexibility and being able to ride a steep learning curve has paid off well.

专业化和普遍性都有机会。在我自己的工作中,我发现灵活性和能够驾驭陡峭的学习曲线已经得到了很好的回报。

#13


0  

I use an IDE whenever I'm using a language that's more suited to being written by a computer than by a human being, for example Java. It's far too verbose to write by hand without loads of auto-completion. Vim's auto-complete is never quite as good as a language-specific IDE.

每当我使用的语言更适合由计算机编写而不是人类(例如Java)时,我都会使用IDE。在没有自动完成负载的情况下手动编写是非常冗长的。 Vim的自动完成功能永远不如特定于语言的IDE。

For less wordy languages though, you can't beat a good Vim- or Emacs-like editor for churning out plaintext quickly.

对于不那么冗长的语言,你不能打败一个好的Vim或Emacs编辑器来快速制作明文。

#14


0  

If the project exceeds two or three source files, I tend to use an IDE.

如果项目超过两个或三个源文件,我倾向于使用IDE。

#15


0  

Once you've used an IDE with good (vs6 was not good, and most generic text editor's support for this is crude at best) intellisense-style prompting and auto-complete for a few weeks, you won't go back.

一旦你使用好的IDE(vs6不好,并且大多数通用文本编辑器对此的支持是最粗糙的)智能感知式提示和自动完成几周,你将不会回去。

#16


0  

I use vim for everything except Objective-C stuff, which I use xCode for. The Interface builder, error checking, debugging are quite valuable.

我使用vim除了Objective-C之外的所有内容,我使用xCode。接口构建器,错误检查,调试非常有价值。

However, I use a InputManager to let me use vim commands/key bindings in xCode, so I never really leave vim for anything ;)

但是,我使用InputManager让我在xCode中使用vim命令/键绑定,所以我从来没有真正离开vim的任何东西;)

#17


0  

I do all my coding in SciTE, my favorite editor, lightweight, with good syntax highlighting, and with shortcuts I am familiar with (or which I coded!).

我在SciTE中编写所有编码,我最喜欢的编辑器,轻量级,具有良好的语法高亮,以及我熟悉的快捷方式(或我编写的快捷方式!)。

Now, doing lot of Java at work, I also use Eclipse, which greatly improve with each version. I appreciate it is quite customizable, and very flexible about coding help, but I still do most of my editing in SciTE... Fortunately, the auto-detection/update of files edited elsewhere works quite well in Eclipse (although sometime with a sensible delay to analyze the reloaded class: we have big projects and not that much memory (1GB)).

现在,在工作中使用大量Java,我也使用Eclipse,每个版本都会大大改进。我很欣赏它是可定制的,并且对编码帮助非常灵活,但我仍然在SciTE中进行大部分编辑...幸运的是,在其他地方编辑的文件的自动检测/更新在Eclipse中运行良好(尽管有时候是明智的延迟分析重新加载的类:我们有大项目而没有那么多内存(1GB))。

I appreciate Eclipse mainly for two things (we compile with a special ant process and we don't really do refactoring): quick navigation in the project, particularly find a class and call hierarchy, and of course debugging.

我很欣赏Eclipse主要用于两件事(我们使用特殊的ant进程编译,我们并不真正进行重构):在项目中快速导航,特别是找到一个类和调用层次结构,当然还有调试。

I don't think these are so much distinct worlds, these are just tools, quite complementary: I won't fire Eclipse to do a quick edit of a small HTML file, I can't debug in SciTE. So I use both.

我不认为这些是那么多不同的世界,这些只是工具,相当互补:我不会激活Eclipse来快速编辑一个小的HTML文件,我无法在SciTE中调试。所以我同时使用它们。

#18


0  

I haven't used an IDE since the last time I created a native GUI app, lo those many years ago. And, even then, I pretty much just used the IDE to create the GUI forms and my own editor for the actual code once I figured out how to plug an alternate editor into the IDE.

自从我上次创建原生GUI应用程序以来,我没有使用过IDE。而且,即便如此,一旦我弄清楚如何将备用编辑器插入IDE,我几乎只使用IDE来创建GUI表单和我自己的编辑器来获取实际代码。

I'm not a "give me vim, or give me death!" fanatic, but my experience with having used IDEs and having used a bunch of xterms running vim has left me with the impression that the only thing IDEs really contribute, for me, is drag-n-drop form editing, which is something I don't need, given how long it's been since I last did anything with a non-web-based GUI.

我不是“给我vim,或者给我死!”*,但我使用IDE并使用一堆运行vim的xterms的经验让我觉得IDE对我来说唯一真正贡献的是拖放式表单编辑,这是我不喜欢的事情。我需要,因为我上次使用非基于Web的GUI做了多长时间。

#19


0  

re: when? I use Eclipse for Java and debugging. I keep jEdit open with a variety of Groovy scripts available. I also use Cygwin's bash in 3 shell windows for executing Ant tasks, searching etc. I can use Bash aliases for some truly powerful stuff with respect to running our server and client.

重新:什么时候?我使用Eclipse进行Java和调试。我使用各种Groovy脚本保持jEdit开放。我还在3个shell窗口中使用Cygwin的bash来执行Ant任务,搜索等。我可以使用Bash别名来运行我们的服务器和客户端。

re: both? Yes, it is vital to know both IDE and non-IDE development. It doesn't matter which IDE but a debugger is essential.

re:两个?是的,了解IDE和非IDE开发至关重要。哪个IDE无关紧要,但调试器至关重要。

re: which? For Java, Eclipse if you are paying (free) and Idea if someone else is ;-) Actually, I prefer Eclipse but I think that Idea has better support for Groovy so that it is attractive to me.

重新:哪个?对于Java,Eclipse,如果你付费(免费)和Idea,如果其他人是;-)实际上,我更喜欢Eclipse,但我认为Idea更好地支持Groovy,因此它对我很有吸引力。

#20


0  

A decent code highlighting editor is all I use.

我使用的是一个体面的代码突出显示编辑器。

#21


-1  

I use IDE for debugging, or for every big project that require to go on many different file. Lot of IDE have quick click to move from one class to an other. IDE for that is more productive. I use IDE too when I use big FrameWork that has a lot of folder and file, more easy to manage.

我使用IDE进行调试,或者用于需要进行许多不同文件的每个大项目。很多IDE都可以快速点击从一个类移动到另一个类。 IDE的效率更高。当我使用具有大量文件夹和文件的大型FrameWork时,我也使用IDE,更易于管理。

Update because question has been updated

更新,因为问题已更新

When do you switch from one to the other?

你什么时候从一个切换到另一个?

I switch for small change in CSS or other small task,

我切换CSS或其他小任务的小变化,

Is it even necessary to know both? If not, which should you know?

是否有必要同时了解两者?如果没有,你应该知道哪一个?

Some time when building form (example in C#) it's very much profitable to use the IDE. Samething for debugging with breakpoint. I think both are required.

有时候构建表单(例如C#中)使用IDE非常有利可图。用于使用断点进行调试的内容。我认为两者都是必需的。

Lightweight or Heavyweight IDEs? (just code highlighting or every feature you could imagine)

轻量级或重量级IDE? (只是代码突出显示或您可以想象的每个功能)

Code hightlight is fine for small job, but when you have big stuff to do, bigger IDE with autocomplete, real-time error check and other refactoring tool is necessary to be more productive.

代码高亮度适用于小型工作,但是当您需要做大事时,需要使用具有自动完成功能,实时错误检查和其他重构工具的更大IDE来提高工作效率。

What IDE do you recommend in general, and why?

你一般推荐什么IDE?为什么?

Visual Studio is great for .net, Eclipse for Java.

Visual Studio非常适合.net,Eclipse for Java。