我目前正在使用Vim作为轻量级IDE.我有NERDTree,bufexplorer,supertab和ctags插件,可以完成我想要的几乎所有操作.对我来说,唯一遗漏的是自动代码格式化.
我正在使用一些混乱的PHP代码,它具有不一致的缩进和代码格式,理想情况下我可以突出显示我想要格式化的代码(整个文件也可以)并运行命令来整理它.
在Vim工作的人有没有一个很好的解决方案?
我在某个地方看到了这个,但现在找不到了.在emacs中是否有内置函数,或者有人有elisp,在cc模式中排列一系列初始化状态中的所有等号?
之前:
int t=9;
Graphics g = new Graphics();
List<String> list = new List<String>();
Run Code Online (Sandbox Code Playgroud)
后:
int t = 9;
Graphics g = new Graphics();
List<String> list = new List<String>();
Run Code Online (Sandbox Code Playgroud) 无论如何都要像在Eclipse或Netbenas中那样在Xcode中格式化代码.我没有在菜单中找到任何选项,是否有任何热键,或者它根本不在Xcode中?
我们团队的不同开发人员在这里有着截然不同的复选框:

因此,Visual Studio不断重新格式化代码,这确实污染了我们的提交.
我要的是有一个什么(.reg文件或东西),每个开发者的电脑上运行,以便这些设置将是一致的.
我怎样才能做到这一点?
我不喜欢问这个问题,但我老老实实地一直在寻找一种方法来解决这个问题很长一段时间.
这是一个简单的问题.我已经使用NetBeans很长一段时间了,但最近转向Eclipse的原因有几点我不打算进入.无论如何,我发现javascript源格式化行为非常奇怪.
这是我自己格式化的javascript代码示例块:
function buildDatabase () {
db.transaction(function (tx) {
tx.executeSql('DROP TABLE IF EXISTS calendar');
tx.executeSql('CREATE TABLE IF NOT EXISTS calendar(id UNIQUE, summary, description, location, startdate, enddate)');
}, function (err) {
document.querySelector('#debugLog').innerHTML += '<p><code>' + err.message + '</code></p>';
});
}
Run Code Online (Sandbox Code Playgroud)
非常简单的东西.现在,如果我点击Ctrl+ Shift+ F来格式化它(因为坦率地说这个功能节省了很多时间)因为我无法理解它现在看起来像这样:
function buildDatabase() {
db
.transaction(
function(tx) {
tx.executeSql('DROP TABLE IF EXISTS calendar');
tx
.executeSql('CREATE TABLE IF NOT EXISTS calendar(id UNIQUE, summary, description, location, startdate, enddate)');
},
function(err) {
document.querySelector('#debugLog').innerHTML += '<p><code>'
+ err.message …Run Code Online (Sandbox Code Playgroud) 我正在使用Intellij-IDEA 12.大多数队友都使用Eclipse,在保存时首先根据可见性自动对成员进行排序,然后按字母顺序排序.我想模仿Intellij中的相同功能.但似乎当我选择按字母顺序排列成员时,它会覆盖可见性(和所有其他)规则.如何根据可见性(公共 - 默认 - 私有)对成员进行排序,并在该子组中按字母顺序对它们进行排序?
编辑:这个问题的假设是错误的.就像@Maba的答案中提到的那样,创建单独的行并将它们标记为"按字母顺序排序"按预期工作.(我有字段的单独行,但无法为方法创建单独的行,因此混淆.)
是否有一种方法/快捷方式/内置功能可以对齐操作数的代码,如'='符号.
例如,有一个XAlign for Xcode(https://github.com/qfish/XAlign),允许用户选择需要对齐的代码并使用快捷方式自动对齐.
Android Studio中有一个"字段组"功能,可以"对齐列",但它不适用于已编写的代码.
提前致谢!:)
当我使用Eclipse重新格式化代码时,它会像这样转换方法头:
public void myMethod(String param) {
Run Code Online (Sandbox Code Playgroud)
像这样的方法标题:
public void myMethod(
String param) {
Run Code Online (Sandbox Code Playgroud)
当我被带到这里时,我以前从未使用过Eclipse,我导入了其他人提供的项目设置.我已经看到,在Eclipse上工作的小型新项目不会这样做,所以它必须在我导入的设置中.但是我已经浏览了我能找到的每个面板,以及我可以在工作区找到的每个隐藏文件,而我无法弄清楚导致这种情况的原因.
我该如何关闭它?我不希望在我的方法签名中的参数之前换行,我无法想象为什么有人会这样做!
我想使用clang-format来对齐我的评论,但没有别的.
选项是: AlignTrailingComments (bool).
但是当我运行以下内容时:
clang-format-3.6 -i -style='{AlignTrailingComments: true}' <file>
Run Code Online (Sandbox Code Playgroud)
它执行各种其他格式化选项,我想在未指定时具有默认值.
如何在代码库上只执行一个clang格式化规则?
拥有所有这些默认值后,很难看到单个格式选项对代码的完整影响.我必须解析所有这些其他更改的差异,并确定它是否是我指定实际执行的选项.
我注意到有一个DisableFormat选项,但无论我如何使用它,它都会阻止任何格式化.
clang-format-3.6 -i -style='{AlignTrailingComments: true, DisableFormat: true}'
clang-format-3.6 -i -style='{DisableFormat: true, AlignTrailingComments: true}'
Run Code Online (Sandbox Code Playgroud)
两者都导致clang-format不能在任何地方生成任何代码.
如果我按Tab键,那条线会向右移动,我必须按哪条线才能向左移动?
code-formatting ×10
eclipse ×2
c++ ×1
clang-format ×1
emacs ×1
formatting ×1
java ×1
javascript ×1
key-bindings ×1
notepad++ ×1
php ×1
tidy ×1
vim ×1
xcode ×1